fnugz's idea
[carveJwlIkooP6JGAAIwe30JlM.git] / render.h
index 64cf8f1ecaa432d8f5e2013672b064269f4df26a..b920983d7970b18b24b83faa25a4854ee988eac1 100644 (file)
--- a/render.h
+++ b/render.h
@@ -112,9 +112,16 @@ framebuffers[] =
             .attachment     = GL_COLOR_ATTACHMENT1
          },
          {
+#if 0
             "depth_stencil", k_framebuffer_attachment_type_renderbuffer,
 
             .internalformat = GL_DEPTH24_STENCIL8,
+#else
+            "depth_stencil", k_framebuffer_attachment_type_colour,
+            .internalformat = GL_DEPTH24_STENCIL8,
+            .format         = GL_DEPTH_STENCIL,
+            .type           = GL_UNSIGNED_INT_24_8,
+#endif
             .attachment     = GL_DEPTH_STENCIL_ATTACHMENT
          }
       }
@@ -188,13 +195,18 @@ VG_STATIC void render_fb_get_current_res( struct framebuffer *fb,
 
 VG_STATIC void render_fb_inverse_ratio( framebuffer *fb, v2f inverse )
 {
-   int x, y;
-   render_fb_get_current_res( fb, &x, &y );
+   if( fb ){
+      int x, y;
+      render_fb_get_current_res( fb, &x, &y );
 
-   v2f render   = { fb->render_w, fb->render_h },
-       original = { x, y };
+      v2f render   = { fb->render_w, fb->render_h },
+          original = { x, y };
 
-   v2_div( render, original, inverse );
+      v2_div( render, original, inverse );
+   }
+   else{
+      v2_div( (v2f){1.0f,1.0f}, (v2f){ vg.window_x, vg.window_y }, inverse );
+   }
 }
 
 /*
@@ -374,7 +386,7 @@ VG_STATIC void render_fb_allocate_texture( struct framebuffer *fb,
 
    if( a->purpose == k_framebuffer_attachment_type_renderbuffer ){
       glBindRenderbuffer( GL_RENDERBUFFER, a->id );
-      glRenderbufferStorage( GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, rx, ry );
+      glRenderbufferStorage( GL_RENDERBUFFER, a->internalformat, rx, ry );
    }
    else if( a->purpose == k_framebuffer_attachment_type_colour ){
       glBindTexture( GL_TEXTURE_2D, a->id );