X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_render.h;h=6a415e631ac4c48882b4472d36f98f28d2547811;hb=bc40c302f1b8313bdd3c773fcfa2f850511c4634;hp=7fb47b0dc2cb580c9ee3fd1a8521d04643018412;hpb=b4a83d4fcab39bee5a8cd6e8e6eec06314864e5b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_render.h b/world_render.h index 7fb47b0..6a415e6 100644 --- a/world_render.h +++ b/world_render.h @@ -60,8 +60,8 @@ VG_STATIC void world_render_init(void) vg_tex2d_load_qoi_async_file( "textures/garbage.qoi", VG_TEX2D_NEAREST|VG_TEX2D_REPEAT, &tex_terrain_noise ); - vg_async_item *call = vg_async_alloc(0); - vg_async_dispatch( call, async_world_render_init ); + + vg_async_call( async_world_render_init, NULL, 0 ); } VG_STATIC void world_link_lighting_ub( world_instance *world, GLuint shader ) @@ -454,6 +454,7 @@ state->g_time_of_day = vg_fractf( g_time ); sizeof(struct ub_world_lighting), &world->ub_lighting ); } +VG_STATIC void skateshop_render(void); VG_STATIC void render_world( world_instance *world, camera *cam, int layer_depth ) { @@ -465,25 +466,29 @@ VG_STATIC void render_world( world_instance *world, camera *cam, render_world_alphatest( world, cam ); render_terrain( world, cam ); - /* Render SFD's */ - u32 closest = 0; - float min_dist = INFINITY; + if( layer_depth == 0 ){ + skateshop_render(); + + /* Render SFD's */ + u32 closest = 0; + float min_dist = INFINITY; - if( !mdl_arrcount( &world->ent_route ) ) - return; + if( !mdl_arrcount( &world->ent_route ) ) + return; - for( u32 i=0; ient_route ); i++ ){ - ent_route *route = mdl_arritm( &world->ent_route, i ); - float dist = v3_dist2( route->board_transform[3], cam->pos ); + for( u32 i=0; ient_route ); i++ ){ + ent_route *route = mdl_arritm( &world->ent_route, i ); + float dist = v3_dist2( route->board_transform[3], cam->pos ); - if( dist < min_dist ){ - min_dist = dist; - closest = i; + if( dist < min_dist ){ + min_dist = dist; + closest = i; + } } - } - ent_route *route = mdl_arritm( &world->ent_route, closest ); - sfd_render( world, cam, route->board_transform ); + ent_route *route = mdl_arritm( &world->ent_route, closest ); + sfd_render( world, cam, route->board_transform ); + } } VG_STATIC void render_world_depth( world_instance *world, camera *cam )