clean up blurring code. remove dead code
[carveJwlIkooP6JGAAIwe30JlM.git] / render.c
index 0c6a8f0fe42aae080c26b2a2d94fc6c796b7e19f..ec2e0ef37eb9ed1518a20f79c25e95425e8f7f90 100644 (file)
--- a/render.c
+++ b/render.c
@@ -217,3 +217,43 @@ void render_fsquad2(void)
    glBindVertexArray( gpipeline.fsquad.vao );
    glDrawArrays( GL_TRIANGLES, 66+6,6 );
 }
+
+void postprocess_to_screen( vg_framebuffer *fb )
+{
+   glBindFramebuffer( GL_FRAMEBUFFER, 0 );
+   glViewport( 0,0, vg.window_x, vg.window_y );
+
+   glEnable(GL_BLEND);
+   glDisable(GL_DEPTH_TEST);
+   glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA);
+   glBlendEquation(GL_FUNC_ADD);
+
+   v2f inverse;
+   vg_framebuffer_inverse_ratio( fb, inverse );
+
+   if( k_blur_effect )
+   {
+      shader_blitblur_use();
+      shader_blitblur_uTexMain( 0 );
+      shader_blitblur_uTexMotion( 1 );
+      shader_blitblur_uBlurStrength( k_blur_strength / 
+                                     (vg.time_frame_delta*60.0) );
+      shader_blitblur_uInverseRatio( inverse );
+
+      inverse[0] -= 0.0001f;
+      inverse[1] -= 0.0001f;
+      shader_blitblur_uClampUv( inverse );
+      shader_blitblur_uOverrideDir( gpipeline.blur_override );
+
+      vg_framebuffer_bind_texture( fb, 0, 0 );
+      vg_framebuffer_bind_texture( fb, 1, 1 );
+   }
+   else{
+      shader_blit_use();
+      shader_blit_uTexMain( 0 );
+      shader_blit_uInverseRatio( inverse );
+      vg_framebuffer_bind_texture( fb, 0, 0 );
+   }
+
+   render_fsquad();
+}