add player guide
[carveJwlIkooP6JGAAIwe30JlM.git] / world_render.c
index c332aced5431851cb0b0bf17e14e5c962e6a1547..950e35fe8855aa08ca12b1e649ecde3bd827a58f 100644 (file)
@@ -154,7 +154,10 @@ struct world_pass{
    void (*fn_set_uPvmPrev)( m4x4f pvm );
 };
 
-VG_STATIC void world_render_if( world_instance *world, struct world_pass *pass )
+/* TODO: high level control pass renders. */
+
+VG_STATIC 
+void world_render_if( world_instance *world, struct world_pass *pass )
 {
    for( int i=0; i<world->surface_count; i++ ){
       struct world_surface *mat = &world->surfaces[i];
@@ -202,6 +205,20 @@ VG_STATIC void world_render_if( world_instance *world, struct world_pass *pass )
    }
 }
 
+VG_STATIC
+void world_render_challenges( world_instance *world ){
+   if( !world ) return;
+
+   shader_scene_fxglow_use();
+   for( u32 i=0; i<mdl_arrcount(&world->ent_challenge); i++ ){
+      ent_challenge *challenge = mdl_arritm(&world->ent_challenge,i);
+      
+      m4x3f mmdl;
+      mdl_transform_m4x3( &challenge->transform, mmdl );
+      shader_scene_fxglow_uMdl( mmdl );
+   }
+}
+
 VG_STATIC 
 void world_render_both_stages( world_instance *world, struct world_pass *pass )
 {
@@ -320,7 +337,7 @@ VG_STATIC void render_world_alphatest( world_instance *world, camera *cam )
 }
 
 VG_STATIC void render_world_fxglow( world_instance *world, camera *cam ){
-   glDrawBuffers( 1, (GLenum[]){ GL_COLOR_ATTACHMENT0 } );
+   //glDrawBuffers( 1, (GLenum[]){ GL_COLOR_ATTACHMENT0 } );
 
    shader_scene_fxglow_use();
    shader_scene_fxglow_uTexMain(1);
@@ -348,7 +365,7 @@ VG_STATIC void render_world_fxglow( world_instance *world, camera *cam ){
    world_render_both_stages( world, &pass );
 
    glEnable(GL_CULL_FACE);
-   glDrawBuffers( 2, (GLenum[]){ GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1 } );
+   //glDrawBuffers( 2, (GLenum[]){ GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1 } );
 }
 
 VG_STATIC void bindpoint_terrain( world_instance *world,