X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_sfd.h;h=3fbbe949482a775ebba620a53b71e25b36f86c50;hb=aa4c26eae2208872824e0eb5b71bc05c16d43242;hp=3f94c4ed86fae271a5948d20c521179ccf395c65;hpb=0ae443b3f6b4b753f9a2eba58da597ae8cb14b4f;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_sfd.h b/world_sfd.h index 3f94c4e..3fbbe94 100644 --- a/world_sfd.h +++ b/world_sfd.h @@ -7,8 +7,10 @@ #include "world.h" +#if 0 #include "shaders/scoretext.h" #include "shaders/vblend.h" +#endif vg_tex2d tex_scoretext = { .path = "textures/scoretext.qoi", .flags = VG_TEXTURE_CLAMP|VG_TEXTURE_NEAREST }; @@ -102,10 +104,10 @@ VG_STATIC void sfd_update(void) } VG_STATIC void bind_terrain_noise(void); -VG_STATIC void sfd_render( m4x4f projection, v3f camera, m4x3f transform ) +VG_STATIC void sfd_render( camera *cam, m4x3f transform ) { +#if 0 mesh_bind( &world.sfd.mesh_display ); - shader_scoretext_use(); shader_scoretext_uTexGarbage(0); shader_scoretext_uTexGradients(1); @@ -113,9 +115,14 @@ VG_STATIC void sfd_render( m4x4f projection, v3f camera, m4x3f transform ) bind_terrain_noise(); vg_tex2d_bind( &tex_scoretext, 1 ); - shader_scoretext_uPv( projection ); + m4x4f pvm_prev; + m4x3_expand( transform, pvm_prev ); + m4x4_mul( cam->mtx_prev.pv, pvm_prev, pvm_prev ); + + shader_scoretext_uPv( cam->mtx.pv ); + shader_scoretext_uPvmPrev( pvm_prev ); shader_scoretext_uMdl( transform ); - shader_scoretext_uCamera( camera ); + shader_scoretext_uCamera( cam->transform[3] ); for( int y=0;ymtx.pv ); + shader_vblend_uPvmPrev( pvm_prev ); + shader_vblend_uMdl( transform ); - shader_vblend_uCamera( camera ); + shader_vblend_uCamera( cam->transform[3] ); mesh_bind( &world.sfd.mesh_base ); mesh_draw( &world.sfd.mesh_base ); +#endif } VG_STATIC int world_sfd_test( int argc, const char *argv[] ) @@ -156,7 +166,10 @@ VG_STATIC int world_sfd_test( int argc, const char *argv[] ) VG_STATIC void world_sfd_init(void) { vg_info( "world_sfd_init\n" ); + +#if 0 shader_scoretext_register(); +#endif vg_function_push( (struct vg_cmd){ .name = "sfd", @@ -177,11 +190,13 @@ VG_STATIC void world_sfd_init(void) m4x3f identity; m4x3_identity( identity ); + /* FIXME: dont use scene header for this you fucking idiots */ for( int i=4;i<6;i++ ) { u32 vert_start = sc->vertex_count; - scene_add_submesh( sc, mboard, card, identity ); + scene_add_mdl_submesh( sc, mboard, card, identity ); +#if 0 for( int j=0; jvertex_count; j++ ) { mdl_vert *vert = &sc->arrvertices[ vert_start+j ]; @@ -191,6 +206,7 @@ VG_STATIC void world_sfd_init(void) vert->colour[0] = 0.0f; vert->colour[1] = i*36; } +#endif } vg_acquire_thread_sync();