clean up blurring code. remove dead code
authorhgn <hgodden00@gmail.com>
Thu, 13 Jun 2024 08:41:17 +0000 (09:41 +0100)
committerhgn <hgodden00@gmail.com>
Thu, 13 Jun 2024 08:41:17 +0000 (09:41 +0100)
gameserver.h
player_remote.h
render.c
render.h
shaders/blitblur.fs
skaterift.c

index 3d0e71383bf9b5a8a2d0afe73e1b77ffde16d923..a03b1a0ac9c300609c7a6c7dc505fbb62d02c42b 100644 (file)
@@ -12,7 +12,7 @@
 
 #define CLIENT_KNOWLEDGE_SAME_WORLD0 0x1
 #define CLIENT_KNOWLEDGE_SAME_WORLD1 0x2
-#define CLIENT_KNOWLEDGE_FRIENDS     0x4 /* TODO? */
+#define CLIENT_KNOWLEDGE_FRIENDS     0x4 /* unused */
 
 struct {
    HSteamNetPollGroup client_group;
@@ -43,10 +43,6 @@ struct {
    u8 client_knowledge_mask[ (NETWORK_MAX_PLAYERS*(NETWORK_MAX_PLAYERS-1))/2 ];
    u8 app_symmetric_key[ k_nSteamEncryptedAppTicketSymmetricKeyLen ];
 
-   /* TODO: Consider removing this */
-   int monitor_fd;
-   int monitor_clients[ 4 ];
-
    bool loopback_test;
 }
 static gameserver = {
index 1a99bcb32bf7560f550e7d09bdf39d8ee7328b85..3e4b67e773dcad826ff66a7229ac2d4e497eeb80 100644 (file)
@@ -27,7 +27,6 @@ struct global_netplayers
       int world_match[ k_world_max ];
       u32 location_pstr; /* TODO: valid if active_world set. */
 
-      /* TODO: Compression with server code */
       char username[ NETWORK_USERNAME_MAX ];
       char items[k_netmsg_playeritem_max][ADDON_UID_MAX];
       char chat[ NETWORK_MAX_CHAT ];
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();
+}
index f5b0afdbd721820ed9f427108d5bd607c585e450..4986316bdded4b6976ba6a8e8f58e6f804522e73 100644 (file)
--- a/render.h
+++ b/render.h
@@ -35,6 +35,8 @@ struct pipeline
                   *fb_workshop_preview,
                   *fb_network_status;
    int ready;
+
+   v2f blur_override;
 }
 static gpipeline;
 
@@ -42,3 +44,4 @@ void render_init(void);
 void render_fsquad(void);
 void render_fsquad1(void);
 void render_fsquad2(void);
+void postprocess_to_screen( vg_framebuffer *fb );
index 8de9e67b7ac269a9f9f8ad434cf574f43f8da983..21209c5f9023ce5fac1a161567542cb2205eb432 100644 (file)
@@ -3,8 +3,6 @@ uniform sampler2D uTexMain;
 uniform sampler2D uTexMotion;
 uniform float uBlurStrength;
 uniform vec2 uOverrideDir;
-uniform float uTime;
-uniform float uGlitchStrength;
 uniform vec2 uClampUv;
 
 in vec2 aUv;
@@ -15,23 +13,10 @@ vec2 rand_hash22( vec2 p ){
    return fract(vec2((p3.x + p3.y)*p3.z, (p3.x+p3.z)*p3.y));
 }
 
-const int NOISE_LOOP = 3;
-vec3 digital_noise( uvec3 iuv ){
-   iuv *=uvec3(8,2524,7552);
-   for( int i=0; i<NOISE_LOOP; i++ )
-      iuv += (iuv.yzx<<2) ^ (iuv.yxz)+iuv.z;
-   return vec3(iuv)*(1.0/float(0xffffffffU));
-}
-
-void main(){
+void main()
+{
    vec2 vuv = aUv; 
 
-   //if( uGlitchStrength > 0.0 ){
-   //   uvec3 p = uvec3( gl_FragCoord.xy, uint(uTime*30.0) );
-   //   vec2 g = digital_noise(p).xy;
-   //   vuv = aUv + g.xy*uGlitchStrength - uGlitchStrength*0.5;
-   //}
-
    vec2 vrand = rand_hash22( vuv ) * 2.0 - vec2(1.0);
    vec2 vrand1 = rand_hash22( vrand ) * 2.0 - vec2(1.0);
    
index 5d4d69ca6a9757b32a177a5626f8b586539b14ad..f99f8761d8d593a11e551cd1cb7c8791329eb33a 100644 (file)
@@ -59,8 +59,6 @@ struct skaterift_globals skaterift =
    .hub_world = "maps/dev_hub",
 };
 
-static int k_tools_mode = 0;
-
 int main( int argc, char *argv[] )
 {
    network_set_host( "skaterift.com", NULL );
@@ -82,10 +80,6 @@ void vg_launch_opt(void)
       network_set_host( arg, NULL );
    }
 
-   if( vg_long_opt( "tools" ) ){
-      k_tools_mode = 1;
-   }
-
    if( vg_long_opt( "demo" ) ){
       skaterift.demo_mode = 1;
    }
@@ -113,9 +107,6 @@ vg_info("            '        ' '--' [] '----- '----- '     ' '---'  "
 
    vg_loader_step( remote_players_init, NULL );
 
-   if( k_tools_mode )
-      return;
-
    steam_init();
    vg_loader_step( NULL, steam_end );
    vg_loader_step( network_init, network_end );
@@ -216,11 +207,6 @@ static void skaterift_load_player_content(void)
 
 void vg_load(void)
 {
-   if( k_tools_mode ){
-      vg_async_call( async_call_ready, NULL, 0 );
-      return;
-   }
-
    vg_audio.always_keep_compressed = 1;
 
    vg_console_reg_cmd( "load_world", skaterift_load_world_command, NULL );
@@ -296,8 +282,6 @@ void vg_pre_update(void)
 {
    skaterift_preupdate_inputs();
 
-   if( k_tools_mode ) return;
-
    steam_update();
    skaterift_change_client_world_preupdate();
 
@@ -348,7 +332,6 @@ void vg_pre_update(void)
 
 void vg_fixed_update(void)
 {
-   if( k_tools_mode ) return;
    if( skaterift.op == k_async_op_clientloading ) return;
 
    world_routes_fixedupdate( world_current_instance() );
@@ -358,7 +341,6 @@ void vg_fixed_update(void)
 
 void vg_post_update(void)
 {
-   if( k_tools_mode ) return;
    if( skaterift.op == k_async_op_clientloading ) return;
 
    player__post_update();
@@ -392,64 +374,6 @@ void vg_post_update(void)
  * RENDERING
  * ---------------------------------------------------------------------------*/
 
-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();
-}
-
 static void render_player_transparent(void)
 {
    if( (skaterift.activity == k_skaterift_menu) &&
@@ -693,21 +617,20 @@ static void render_main_game(void)
    }
 
    /* composite */
-   present_view_with_post_processing();
+
+   if( (skaterift.activity == k_skaterift_menu) && menu.bg_blur )
+      v2_muls( (v2f){ 0.04f, 0.001f }, 1.0f-skaterift.time_rate, 
+               gpipeline.blur_override );
+   else 
+      v2_zero( gpipeline.blur_override );
+   postprocess_to_screen( gpipeline.fb_main );
+
    skaterift_replay_post_render();
    control_overlay_render();
 }
 
 void vg_render(void)
 {
-   if( k_tools_mode ){
-      glBindFramebuffer( GL_FRAMEBUFFER, 0 );
-      glViewport( 0,0, vg.window_x, vg.window_y );
-      glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
-      glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
-      return;
-   }
-
    if( skaterift.op == k_async_op_clientloading ){
       vg_loader_render();
       return;
@@ -740,22 +663,6 @@ void vg_gui( ui_context *ctx )
 
    gui_draw( ctx );
 
-   if( k_tools_mode )
-   {
-      ui_rect null;
-      ui_rect screen = { 0, 0, vg.window_x, vg.window_y };
-      ui_rect panel = { 0, 0, 1000, 700 };
-      ui_rect_center( screen, panel );
-      ui_capture_mouse( ctx, 1 );
-
-      ui_fill( ctx, panel, ui_colour( ctx, k_ui_bg+1 ) );
-      ui_outline( ctx, panel, 1, ui_colour( ctx, k_ui_bg+7 ), 0 );
-
-      ui_rect_pad( panel, (ui_px[2]){ 8, 8 } );
-
-      return;
-   }
-
    if( k_light_editor )
       imgui_world_light_edit( ctx, world_current_instance() );