X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_render.c;h=37b095c7bd8939816e4d30115e06dc1018baab68;hb=ce0205fd929e5fb1446f8c52fcab344884d82569;hp=9e5527bd435928645384b00cb664f3bfb452e9e0;hpb=bf9f3897d358cb6c417e28d659bb412344a52bc3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_render.c b/world_render.c index 9e5527b..37b095c 100644 --- a/world_render.c +++ b/world_render.c @@ -22,7 +22,7 @@ static int ccmd_set_time( int argc, const char *argv[] ){ return 0; } -VG_STATIC void async_world_render_init( void *payload, u32 size ) +static void async_world_render_init( void *payload, u32 size ) { vg_info( "Allocate uniform buffers\n" ); for( int i=0; i<4; i++ ){ @@ -65,7 +65,7 @@ VG_STATIC void async_world_render_init( void *payload, u32 size ) } } -VG_STATIC void world_render_init(void) +static void world_render_init(void) { VG_VAR_F32( k_day_length ); VG_VAR_I32( k_debug_light_indices ); @@ -104,13 +104,13 @@ VG_STATIC void world_render_init(void) vg_async_call( async_world_render_init, NULL, 0 ); } -VG_STATIC void world_link_lighting_ub( world_instance *world, GLuint shader ) +static void world_link_lighting_ub( world_instance *world, GLuint shader ) { GLuint idx = glGetUniformBlockIndex( shader, "ub_world_lighting" ); glUniformBlockBinding( shader, idx, world->ubo_bind_point ); } -VG_STATIC void world_bind_position_texture( world_instance *world, +static void world_bind_position_texture( world_instance *world, GLuint shader, GLuint location, int slot ) { @@ -118,7 +118,7 @@ VG_STATIC void world_bind_position_texture( world_instance *world, glUniform1i( location, slot ); } -VG_STATIC void world_bind_light_array( world_instance *world, +static void world_bind_light_array( world_instance *world, GLuint shader, GLuint location, int slot ) { @@ -127,7 +127,7 @@ VG_STATIC void world_bind_light_array( world_instance *world, glUniform1i( location, slot ); } -VG_STATIC void world_bind_light_index( world_instance *world, +static void world_bind_light_index( world_instance *world, GLuint shader, GLuint location, int slot ) { @@ -136,13 +136,13 @@ VG_STATIC void world_bind_light_index( world_instance *world, glUniform1i( location, slot ); } -VG_STATIC void render_world_depth( world_instance *world, camera *cam ); +static void render_world_depth( world_instance *world, camera *cam ); /* * Rendering */ -VG_STATIC void bind_terrain_noise(void) +static void bind_terrain_noise(void) { glActiveTexture( GL_TEXTURE0 ); glBindTexture( GL_TEXTURE_2D, world_render.tex_terrain_noise ); @@ -159,7 +159,7 @@ struct world_pass{ void (*fn_set_uPvmPrev)( m4x4f pvm ); }; -VG_STATIC +static void world_render_traffic( world_instance *world, u32 material_id, struct world_pass *pass ){ if( !mdl_arrcount( &world->ent_traffic ) ) return; @@ -197,7 +197,7 @@ void world_render_traffic( world_instance *world, u32 material_id, } } -VG_STATIC +static void world_render_pass( world_instance *world, struct world_pass *pass ){ for( int i=0; isurface_count; i++ ){ struct world_surface *mat = &world->surfaces[i]; @@ -227,7 +227,7 @@ void world_render_pass( world_instance *world, struct world_pass *pass ){ } } -VG_STATIC +static void world_render_both_stages( world_instance *world, struct world_pass *pass ) { mesh_bind( &world->mesh_geo ); @@ -241,7 +241,7 @@ void world_render_both_stages( world_instance *world, struct world_pass *pass ) glEnable( GL_CULL_FACE ); } -VG_STATIC void bindpoint_diffuse_texture1( world_instance *world, +static void bindpoint_diffuse_texture1( world_instance *world, struct world_surface *mat ) { @@ -249,7 +249,7 @@ VG_STATIC void bindpoint_diffuse_texture1( world_instance *world, glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] ); } -VG_STATIC void bindpoint_diffuse1_and_cubemap10( world_instance *world, +static void bindpoint_diffuse1_and_cubemap10( world_instance *world, struct world_surface *mat ){ glActiveTexture( GL_TEXTURE1 ); glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] ); @@ -268,7 +268,7 @@ VG_STATIC void bindpoint_diffuse1_and_cubemap10( world_instance *world, shader_scene_cubemapped_uColour( mat->info.colour ); } -VG_STATIC void render_world_vb( world_instance *world, camera *cam ) +static void render_world_vb( world_instance *world, camera *cam ) { shader_scene_vertex_blend_use(); shader_scene_vertex_blend_uTexGarbage(0); @@ -298,7 +298,7 @@ VG_STATIC void render_world_vb( world_instance *world, camera *cam ) world_render_both_stages( world, &pass ); } -VG_STATIC void world_shader_standard_bind( world_instance *world, camera *cam ){ +static void world_shader_standard_bind( world_instance *world, camera *cam ){ shader_scene_standard_use(); shader_scene_standard_uTexGarbage(0); shader_scene_standard_uTexMain(1); @@ -316,7 +316,7 @@ VG_STATIC void world_shader_standard_bind( world_instance *world, camera *cam ){ shader_scene_standard_uCamera( cam->transform[3] ); } -VG_STATIC void render_world_standard( world_instance *world, camera *cam ){ +static void render_world_standard( world_instance *world, camera *cam ){ world_shader_standard_bind( world, cam ); struct world_pass pass = { .shader = k_shader_standard, @@ -329,7 +329,7 @@ VG_STATIC void render_world_standard( world_instance *world, camera *cam ){ world_render_both_stages( world, &pass ); } -VG_STATIC void render_world_cubemapped( world_instance *world, camera *cam, +static void render_world_cubemapped( world_instance *world, camera *cam, int layer_depth ){ if( !mdl_arrcount( &world->ent_cubemap ) ) return; @@ -377,7 +377,7 @@ VG_STATIC void render_world_cubemapped( world_instance *world, camera *cam, } } -VG_STATIC void render_world_alphatest( world_instance *world, camera *cam ){ +static void render_world_alphatest( world_instance *world, camera *cam ){ shader_scene_standard_alphatest_use(); shader_scene_standard_alphatest_uTexGarbage(0); shader_scene_standard_alphatest_uTexMain(1); @@ -412,11 +412,12 @@ VG_STATIC void render_world_alphatest( world_instance *world, camera *cam ){ glEnable(GL_CULL_FACE); } -VG_STATIC +static void world_render_challenges( world_instance *world, struct world_pass *pass, v3f pos, int layer_depth ){ if( !world ) return; if( skaterift.activity == k_skaterift_replay ) return; + if( world != world_current_instance() ) return; /* sort lists */ f32 radius = 40.0f; @@ -453,7 +454,7 @@ void world_render_challenges( world_instance *world, struct world_pass *pass, while( mdl_entity_id_type(next) == k_ent_objective ){ u32 index = mdl_entity_id_id( next ); objective_list[ objective_count ++ ] = index; - + ent_objective *objective = mdl_arritm( &world->ent_objective, index ); next = objective->id_next; } @@ -604,7 +605,7 @@ void world_render_challenges( world_instance *world, struct world_pass *pass, } } -VG_STATIC void render_world_fxglow( world_instance *world, camera *cam, +static void render_world_fxglow( world_instance *world, camera *cam, int layer_depth ){ shader_scene_fxglow_use(); shader_scene_fxglow_uUvOffset( (v2f){ 0.0f, 0.0f } ); @@ -636,7 +637,7 @@ VG_STATIC void render_world_fxglow( world_instance *world, camera *cam, glEnable(GL_CULL_FACE); } -VG_STATIC void bindpoint_terrain( world_instance *world, +static void bindpoint_terrain( world_instance *world, struct world_surface *mat ) { glActiveTexture( GL_TEXTURE1 ); @@ -646,7 +647,7 @@ VG_STATIC void bindpoint_terrain( world_instance *world, shader_scene_terrain_uBlendOffset( mat->info.colour1 ); } -VG_STATIC void bindpoint_override( world_instance *world, +static void bindpoint_override( world_instance *world, struct world_surface *mat ){ if( mat->info.flags & k_material_flag_collision ){ shader_scene_override_uAlphatest(0); @@ -658,7 +659,7 @@ VG_STATIC void bindpoint_override( world_instance *world, } } -VG_STATIC void render_terrain( world_instance *world, camera *cam ) +static void render_terrain( world_instance *world, camera *cam ) { shader_scene_terrain_use(); shader_scene_terrain_uTexGarbage(0); @@ -689,7 +690,7 @@ VG_STATIC void render_terrain( world_instance *world, camera *cam ) world_render_both_stages( world, &pass ); } -VG_STATIC void render_sky( world_instance *world, camera *cam ) +static void render_sky( world_instance *world, camera *cam ) { /* * Modify matrix to remove clipping and view translation @@ -738,7 +739,7 @@ VG_STATIC void render_sky( world_instance *world, camera *cam ) glDepthMask( GL_TRUE ); } -VG_STATIC void render_world_gates( world_instance *world, camera *cam, +static void render_world_gates( world_instance *world, camera *cam, int layer_depth ) { float closest = INFINITY; @@ -779,7 +780,7 @@ VG_STATIC void render_world_gates( world_instance *world, camera *cam, } } -VG_STATIC void world_prerender( world_instance *world ) +static void world_prerender( world_instance *world ) { if( mdl_arrcount( &world->ent_light ) ){ @@ -828,7 +829,7 @@ VG_STATIC void world_prerender( world_instance *world ) sizeof(struct ub_world_lighting), &world->ub_lighting ); } -VG_STATIC void render_world( world_instance *world, camera *cam, +static void render_world( world_instance *world, camera *cam, int layer_depth ) { render_sky( world, cam ); @@ -892,7 +893,7 @@ VG_STATIC void render_world( world_instance *world, camera *cam, } -VG_STATIC +static void render_world_override_pass( world_instance *world, struct world_pass *pass ){ for( int i=0; isurface_count; i++ ){ @@ -918,7 +919,7 @@ void render_world_override_pass( world_instance *world, } } -VG_STATIC void render_world_override( world_instance *world ){ +static void render_world_override( world_instance *world ){ struct world_pass pass = { .cam = &skaterift.cam, .fn_bind_textures = bindpoint_override, @@ -954,7 +955,7 @@ VG_STATIC void render_world_override( world_instance *world ){ glEnable( GL_CULL_FACE ); } -VG_STATIC void render_cubemap_side( world_instance *world, ent_cubemap *cm, +static void render_cubemap_side( world_instance *world, ent_cubemap *cm, u32 side ){ camera cam; glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, @@ -1000,7 +1001,7 @@ VG_STATIC void render_cubemap_side( world_instance *world, ent_cubemap *cm, render_world( world, &cam, -1 ); } -VG_STATIC void render_world_cubemaps( world_instance *world ){ +static void render_world_cubemaps( world_instance *world ){ if( world->cubemap_cooldown ) world->cubemap_cooldown --; else{ @@ -1020,7 +1021,7 @@ VG_STATIC void render_world_cubemaps( world_instance *world ){ } } -VG_STATIC void render_world_depth( world_instance *world, camera *cam ) +static void render_world_depth( world_instance *world, camera *cam ) { m4x3f identity_matrix; m4x3_identity( identity_matrix ); @@ -1036,7 +1037,7 @@ VG_STATIC void render_world_depth( world_instance *world, camera *cam ) mesh_draw( &world->mesh_geo ); } -VG_STATIC void render_world_position( world_instance *world, camera *cam ) +static void render_world_position( world_instance *world, camera *cam ) { m4x3f identity_matrix; m4x3_identity( identity_matrix );