X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=render.c;h=ec2e0ef37eb9ed1518a20f79c25e95425e8f7f90;hb=eff8b75f1a00169d7666c2adf27b588e278c19d2;hp=0c6a8f0fe42aae080c26b2a2d94fc6c796b7e19f;hpb=329828f689e880b825b396c7be5b243aad6ae5ea;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/render.c b/render.c index 0c6a8f0..ec2e0ef 100644 --- 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(); +}