X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_routes.h;h=35f38f0f04a094394f80ab15a6d6f5563abafa42;hb=aa4c26eae2208872824e0eb5b71bc05c16d43242;hp=6f34c8c56de1a1e00f1316364ff871feeec4df02;hpb=0ae443b3f6b4b753f9a2eba58da597ae8cb14b4f;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_routes.h b/world_routes.h index 6f34c8c..35f38f0 100644 --- a/world_routes.h +++ b/world_routes.h @@ -5,11 +5,15 @@ #ifndef ROUTES_H #define ROUTES_H +#include #include "world.h" #include "world_gate.h" +#if 0 #include "shaders/vblend.h" -#include "shaders/route.h" +#endif + +#include "shaders/scene_route.h" #include "shaders/routeui.h" @@ -745,12 +749,13 @@ VG_STATIC void world_routes_create_mesh( u32 route_id ) if( ray_world( sa, down, &ha ) && ray_world( sb, down, &hb )) { - mdl_vert va, vb; + scene_vert va, vb; v3_muladds( ha.pos, up, 0.06f, va.co ); v3_muladds( hb.pos, up, 0.06f, vb.co ); - v3_copy( up, va.norm ); - v3_copy( up, vb.norm ); + + scene_vert_pack_norm( &va, up ); + scene_vert_pack_norm( &vb, up ); v2_zero( va.uv ); v2_zero( vb.uv ); @@ -1077,7 +1082,7 @@ VG_STATIC void world_routes_init(void) world.time = RESET_MAX_TIME*2.0; world.last_use = 0.0; - shader_route_register(); + shader_scene_route_register(); shader_routeui_register(); vg_acquire_thread_sync(); @@ -1131,19 +1136,22 @@ VG_STATIC void world_routes_update(void) } VG_STATIC void bind_terrain_noise(void); -VG_STATIC void render_world_routes( m4x4f projection, v3f camera ) +VG_STATIC void render_world_routes( camera *cam ) { m4x3f identity_matrix; m4x3_identity( identity_matrix ); - shader_route_use(); - shader_route_uTexGarbage(0); - shader_link_standard_ub( _shader_route.id, 2 ); + shader_scene_route_use(); + shader_scene_route_uTexGarbage(0); + shader_link_standard_ub( _shader_scene_route.id, 2 ); bind_terrain_noise(); - shader_route_uPv( projection ); - shader_route_uMdl( identity_matrix ); - shader_route_uCamera( camera ); + shader_scene_route_uPv( cam->mtx.pv ); + shader_scene_route_uPvmPrev( cam->mtx_prev.pv ); + shader_scene_route_uMdl( identity_matrix ); + shader_scene_route_uCamera( cam->transform[3] ); + shader_scene_route_uBoard0( TEMP_BOARD_0 ); + shader_scene_route_uBoard1( TEMP_BOARD_1 ); mesh_bind( &world.mesh_route_lines ); @@ -1155,7 +1163,7 @@ VG_STATIC void render_world_routes( m4x4f projection, v3f camera ) v3_lerp( (v3f){0.7f,0.7f,0.7f}, route->colour, route->factive, colour ); colour[3] = 1.0f; - shader_route_uColour( colour ); + shader_scene_route_uColour( colour ); mdl_draw_submesh( &route->sm ); } }