move location of main camera to g_render
[carveJwlIkooP6JGAAIwe30JlM.git] / render.h
index 2c4926d79e07d7fecfa409aa4e69c098d29c66dd..c5a08804577f727f9de728633e03fe5bd11e968d 100644 (file)
--- a/render.h
+++ b/render.h
@@ -6,6 +6,7 @@
 #include "model.h"
 #include "camera.h"
 #include "shader_props.h"
+#include "vg/vg_framebuffer.h"
 
 #include "shaders/blit.h"
 #include "shaders/blitblur.h"
@@ -21,74 +22,27 @@ static f32 k_blur_strength = 0.3f;
 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;
+   v2f blur_override;
+   vg_camera cam;
 }
-extern framebuffers[];
+static g_render;
 
 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);
+void postprocess_to_screen( vg_framebuffer *fb );