#include "model.h"
#include "camera.h"
#include "shader_props.h"
+#include "vg/vg_framebuffer.h"
#include "shaders/blit.h"
#include "shaders/blitblur.h"
static f32 k_fov = 0.86f;
static f32 k_cam_height = 0.8f;
-typedef struct framebuffer framebuffer;
-
/*
* All standard buffers used in rendering
*/
-static struct pipeline{
+struct pipeline
+{
glmesh fsquad;
- framebuffer *fb_main,
- *fb_water_reflection,
- *fb_water_beneath,
- *fb_workshop_preview,
- *fb_network_status;
+ vg_framebuffer *fb_main,
+ *fb_water_reflection,
+ *fb_water_beneath,
+ *fb_workshop_preview,
+ *fb_network_status;
int ready;
}
-gpipeline;
-
-struct framebuffer{
- const char *display_name;
- int resolution_div, /* definition */
- fixed_w,
- fixed_h,
-
- render_w, /* runtime */
- render_h;
-
- struct framebuffer_attachment{
- const char *display_name;
-
- enum framebuffer_attachment_type{
- k_framebuffer_attachment_type_none,
- k_framebuffer_attachment_type_texture,
- k_framebuffer_attachment_type_renderbuffer,
- k_framebuffer_attachment_type_texture_depth
- }
- purpose;
-
- enum framebuffer_quality_profile{
- k_framebuffer_quality_all,
- k_framebuffer_quality_high_only
- }
- quality;
-
- GLenum internalformat,
- format,
- type,
- attachment;
-
- GLuint id;
-
- /* Runtime */
- int debug_view;
- }
- attachments[5];
- GLuint fb;
- framebuffer **link;
-}
-extern framebuffers[];
+static gpipeline;
void render_init(void);
void render_fsquad(void);
void render_fsquad1(void);
void render_fsquad2(void);
-void render_view_framebuffer_ui( ui_context *ctx );
-void render_fb_bind_texture( framebuffer *fb, int attachment, int slot );
-void render_fb_inverse_ratio( framebuffer *fb, v2f inverse );
-void render_fb_get_current_res( struct framebuffer *fb, int *x, int *y );
-void render_fb_bind( framebuffer *fb, int use_scaling );
-void render_fb_bind_texture( framebuffer *fb, int attachment, int slot );
-void render_fb_allocate( struct framebuffer *fb );
-void render_fb_resize(void);