-vg_tex2d tex_terrain_noise = { .path = "textures/garbage.qoi",
- .flags = VG_TEXTURE_NEAREST };
-
-vg_tex2d tex_alphatest = { .path = "textures/alphatest.qoi",
- .flags = VG_TEXTURE_NEAREST };
-
-vg_tex2d tex_graffiti = { .path = "textures/graffitibox.qoi",
- .flags = VG_TEXTURE_NEAREST };
-
-static void ray_world_get_tri( ray_hit *hit, v3f tri[3] )
-{
- for( int i=0; i<3; i++ )
- v3_copy( world.geo.verts[ hit->tri[i] ].co, tri[i] );
-}
-
-static int ray_world( v3f pos, v3f dir, ray_hit *hit )
-{
- return scene_raycast( &world.geo, pos, dir, hit );
-}
-
-static int ray_hit_is_terrain( ray_hit *hit )
-{
- u32 valid_start = 0,
- valid_end = world.sm_terrain.vertex_count;
-
- return (hit->tri[0] >= valid_start) &&
- (hit->tri[0] < valid_end);
-}
-
-static int ray_hit_is_ramp( ray_hit *hit )
-{
- u32 valid_start = world.sm_geo_std.vertex_start,
- valid_end = world.sm_geo_vb.vertex_start;
-
- return (hit->tri[0] >= valid_start) &&
- (hit->tri[0] < valid_end);
-}
-
-static void world_register(void)
-{
- shader_terrain_register();
- shader_sky_register();
- shader_planeinf_register();
- shader_gpos_register();
- shader_fscolour_register();
- shader_alphatest_register();