-static void present_view_with_post_processing(void){
- 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( gpipeline.fb_main, 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 );
-
- static f64 effect_time = 133.0;
- effect_time += vg.time_frame_delta;
- shader_blitblur_uTime( effect_time );
-
- f32 glitch_strength = 0.0f;
- if( skaterift.activity == k_skaterift_replay ){
- glitch_strength = 0.005f;
- if( player_replay.replay_control == k_replay_control_play )
- glitch_strength = 0.005f;
- else
- glitch_strength += 0.005f*player_replay.track_velocity;
- }
- shader_blitblur_uGlitchStrength( glitch_strength );
-
- v2f override;
- if( (skaterift.activity == k_skaterift_menu) && menu.bg_blur )
- v2_muls( (v2f){ 0.04f, 0.001f }, 1.0f-skaterift.time_rate, override );
- else
- v2_zero( override );
- shader_blitblur_uOverrideDir( override );
-
- vg_framebuffer_bind_texture( gpipeline.fb_main, 0, 0 );
- vg_framebuffer_bind_texture( gpipeline.fb_main, 1, 1 );
- }
- else{
- shader_blit_use();
- shader_blit_uTexMain( 0 );
- shader_blit_uInverseRatio( inverse );
- vg_framebuffer_bind_texture( gpipeline.fb_main, 0, 0 );
- }
-
- render_fsquad();
-}
-