X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=f0fb21802cf194d54e7762a7dcbdae536138afff;hb=b888cce683d95cc01d0b4be9bbe92a0dd47452ac;hp=00dbb110fa1a78279df0b2ff463c20c6afb5fd45;hpb=49f76c732d2c4ba2f7f772656831f1855521417c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index 00dbb11..f0fb218 100644 --- a/skaterift.c +++ b/skaterift.c @@ -37,7 +37,6 @@ player_instance *tmp_localplayer(void) #include "vehicle.h" static int cl_ui = 1, - cl_view_id = 0, cl_light_edit = 0; int main( int argc, char *argv[] ) @@ -126,14 +125,6 @@ VG_STATIC void vg_preload(void) .persistent = 0 }); - vg_var_push( (struct vg_var){ - .name = "cl_view_id", - .data = &cl_view_id, - .data_type = k_var_dtype_i32, - .opt_i32 = { .min=0, .max=1, .clamp=1 }, - .persistent = 0 - }); - vg_var_push( (struct vg_var){ .name = "ledit", .data = &cl_light_edit, @@ -429,34 +420,34 @@ VG_STATIC void vg_framebuffer_resize( int w, int h ) VG_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; + render_fb_inverse_ratio( gpipeline.fb_main, inverse ); + if( cl_blur ){ shader_blitblur_use(); shader_blitblur_uTexMain( 0 ); shader_blitblur_uTexMotion( 1 ); shader_blitblur_uBlurStrength(cl_blur_strength / (vg.frame_delta*60.0f)); + shader_blitblur_uInverseRatio( inverse ); v2f menu_blurring; v2_muls( (v2f){ 0.04f, 0.001f }, menu_opacity, menu_blurring ); shader_blitblur_uOverrideDir( menu_blurring ); - if( cl_view_id == 0 ) - render_fb_bind_texture( gpipeline.fb_main, 0, 0 ); - else if( cl_view_id == 1 ) - render_fb_bind_texture( gpipeline.fb_main, 1, 0 ); - else - render_fb_bind_texture( gpipeline.fb_main, 0, 0 ); - + render_fb_bind_texture( gpipeline.fb_main, 0, 0 ); render_fb_bind_texture( gpipeline.fb_main, 1, 1 ); } else{ shader_blit_use(); shader_blit_uTexMain( 0 ); + shader_blit_uInverseRatio( inverse ); render_fb_bind_texture( gpipeline.fb_main, 0, 0 ); } @@ -480,13 +471,13 @@ VG_STATIC void render_player_transparent(void) /* Draw player to window buffer and blend background ontop */ glBindFramebuffer( GL_FRAMEBUFFER, 0 ); + glViewport( 0,0, vg.window_x, vg.window_y ); player__render( &small_cam, &localplayer ); } VG_STATIC void render_scene(void) { - render_fb_bind( gpipeline.fb_main ); - glViewport( 0,0, g_render_x, g_render_y ); + render_fb_bind( gpipeline.fb_main, 1 ); glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ); glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT ); @@ -503,10 +494,8 @@ VG_STATIC void render_scene(void) render_world( view_world, &main_camera, 0 ); - render_water_texture( view_world, &main_camera, 0 ); - render_fb_bind( gpipeline.fb_main ); - glViewport( 0,0, g_render_x, g_render_y ); + render_fb_bind( gpipeline.fb_main, 1 ); render_water_surface( view_world, &main_camera ); int depth = 1; @@ -588,11 +577,7 @@ VG_STATIC void vg_render(void) { glBindFramebuffer( GL_FRAMEBUFFER, 0 ); - float scale = (sin(vg.time)*0.5f+0.5f)*0.75f+0.25f; - g_render_x = VG_MAX((float)vg.window_x * scale,64), - g_render_y = VG_MAX((float)vg.window_y * scale,64); - - glViewport( 0,0, g_render_x, g_render_y ); + glViewport( 0,0, vg.window_x, vg.window_y ); glDisable( GL_DEPTH_TEST ); glClearColor( 1.0f, 0.0f, 0.0f, 0.0f ); @@ -609,7 +594,6 @@ VG_STATIC void vg_render(void) glViewport( 0,0, vg.window_x, vg.window_y ); } -VG_STATIC void run_light_widget( struct light_widget *lw ); VG_STATIC void vg_ui(void) { #if 0 @@ -617,43 +601,6 @@ VG_STATIC void vg_ui(void) #endif world_instance *world = get_active_world(); menu_crap_ui(); - -#if 0 - if( cl_light_edit ) - { - vg_uictx.cursor[0] = 10; - vg_uictx.cursor[1] = 10; - vg_uictx.cursor[2] = 200; - vg_uictx.cursor[3] = 20; - - struct ub_world_lighting *wl = &gpipeline.ub_world_lighting; - struct ui_slider_vector - s5 = { .min=0.0f, .max=2.0f, .len=3, .data=wl->g_ambient_colour }; - - struct ui_slider - s8 = { .min=0.0f, .max=2.0f, .data = &gpipeline.shadow_spread }, - s9 = { .min=0.0f, .max=25.0f, .data = &gpipeline.shadow_length }; - - for( int i=0; i<3; i++ ) - run_light_widget( &gpipeline.widgets[i] ); - - ui_text( vg_uictx.cursor, "Ambient", 1, 0 ); - vg_uictx.cursor[1] += 16; - ui_slider_vector( &s5 ); - - ui_text( vg_uictx.cursor, "Shadows", 1, 0 ); - vg_uictx.cursor[1] += 16; - ui_slider( &s8 ); - ui_slider( &s9 ); - - ui_text( vg_uictx.cursor, "Misc", 1, 0 ); - vg_uictx.cursor[1] += 16; - struct ui_checkbox c1 = {.data = &wl->g_light_preview}; - ui_checkbox( &c1 ); - - render_update_lighting_ub(); - } -#endif audio_debug_soundscapes(); render_view_framebuffer_ui(); @@ -663,24 +610,6 @@ VG_STATIC void vg_ui(void) #endif } -VG_STATIC void run_light_widget( struct light_widget *lw ) -{ - struct ui_checkbox c1 = { .data=&lw->enabled }; - - ui_checkbox( &c1 ); - - if( lw->enabled ) - { - struct ui_slider_vector - colour = { .min=0.0f, .max=2.0f, .len=3, .data=lw->colour }, - dir = { .min=-VG_PIf, .max=VG_PIf, .len=2, .data=lw->dir }; - - ui_slider_vector( &colour ); - vg_uictx.cursor[1] += 4; - ui_slider_vector( &dir ); - } -} - VG_STATIC void run_debug_info(void) { #if 0