plish
[carveJwlIkooP6JGAAIwe30JlM.git] / world_render.h
index 68c0ceb91a88efe8cd22635d158fc7d00a6118c3..e1c17c828ee9824e4408b3869a470459bc8d36c0 100644 (file)
@@ -8,8 +8,9 @@
 #include "camera.h"
 #include "world.h"
 
-vg_tex2d tex_terrain_noise = { .path = "textures/garbage.qoi",
-                                 .flags = VG_TEXTURE_NEAREST };
+/* FIXME */
+VG_STATIC vg_tex2d tex_terrain_noise = { .path = "textures/garbage.qoi",
+                                         .flags = VG_TEXTURE_NEAREST };
 
 VG_STATIC void world_render_init(void)
 {
@@ -65,8 +66,11 @@ VG_STATIC void world_render_both_stages( enum mdl_shader shader,
 {
    mesh_bind( &world.mesh_geo );
    world_render_if( shader, k_geo_type_solid, bind_point );
+
+   glDisable( GL_CULL_FACE );
    mesh_bind( &world.mesh_no_collide );
    world_render_if( shader, k_geo_type_nonsolid, bind_point );
+   glEnable( GL_CULL_FACE );
 }
 
 VG_STATIC void bindpoint_diffuse_texture1( struct world_material *mat )
@@ -90,6 +94,8 @@ VG_STATIC void render_world_vb( camera *cam )
    shader_vblend_uPvmPrev( cam->mtx_prev.pv );
    shader_vblend_uMdl( identity_matrix );
    shader_vblend_uCamera( cam->transform[3] );
+   shader_vblend_uBoard0( TEMP_BOARD_0 );
+   shader_vblend_uBoard1( TEMP_BOARD_1 );
 
    world_render_both_stages( k_shader_standard_vertex_blend, 
                              bindpoint_diffuse_texture1 );
@@ -110,6 +116,8 @@ VG_STATIC void render_world_standard( camera *cam )
 
    shader_standard_uMdl( identity_matrix );
    shader_standard_uCamera( cam->transform[3] );
+   shader_standard_uBoard0( TEMP_BOARD_0 );
+   shader_standard_uBoard1( TEMP_BOARD_1 );
    
    world_render_both_stages( k_shader_standard,
                              bindpoint_diffuse_texture1 );
@@ -130,6 +138,8 @@ VG_STATIC void render_world_alphatest( camera *cam )
 
    shader_alphatest_uMdl( identity_matrix );
    shader_alphatest_uCamera( cam->transform[3] );
+   shader_alphatest_uBoard0( TEMP_BOARD_0 );
+   shader_alphatest_uBoard1( TEMP_BOARD_1 );
 
    glDisable(GL_CULL_FACE);
    
@@ -165,6 +175,8 @@ VG_STATIC void render_terrain( camera *cam )
 
    shader_terrain_uMdl( identity_matrix );
    shader_terrain_uCamera( cam->transform[3] );
+   shader_terrain_uBoard0( TEMP_BOARD_0 );
+   shader_terrain_uBoard1( TEMP_BOARD_1 );
 
    world_render_both_stages( k_shader_terrain_blend, bindpoint_terrain );
 }