projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
now we're doing a bunch of them
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_sfd.h
diff --git
a/world_sfd.h
b/world_sfd.h
index a83fe0a92359c4b8cb9cb885fb30b9dc360474d2..1b59e5a8c509cb477968473298b327b9d19def2d 100644
(file)
--- a/
world_sfd.h
+++ b/
world_sfd.h
@@
-7,8
+7,10
@@
#include "world.h"
#include "world.h"
+#if 0
#include "shaders/scoretext.h"
#include "shaders/vblend.h"
#include "shaders/scoretext.h"
#include "shaders/vblend.h"
+#endif
vg_tex2d tex_scoretext = { .path = "textures/scoretext.qoi",
.flags = VG_TEXTURE_CLAMP|VG_TEXTURE_NEAREST };
vg_tex2d tex_scoretext = { .path = "textures/scoretext.qoi",
.flags = VG_TEXTURE_CLAMP|VG_TEXTURE_NEAREST };
@@
-56,20
+58,22
@@
float sfd_encode_glyph( char c )
VG_STATIC void sfd_encode( u32 row, const char *str )
{
int end=0;
VG_STATIC void sfd_encode( u32 row, const char *str )
{
int end=0;
- u32 row_h = world.sfd.h -1 -row;
+ u32 row_h = world
_global
.sfd.h -1 -row;
- for( int i=0; i<world.sfd.w; i++ )
+ for( int i=0; i<world
_global
.sfd.w; i++ )
{
{
+ u32 idx = (world_global.sfd.w*row_h + i) * 2;
+
if( end )
{
if( end )
{
- world
.sfd.buffer[world.sfd.w*row_h + i
] = 0.0f;
+ world
_global.sfd.buffer[idx
] = 0.0f;
}
else
{
if( !str[i] )
end = 1;
}
else
{
if( !str[i] )
end = 1;
- world
.sfd.buffer[world.sfd.w*row_h + i
] = sfd_encode_glyph( str[i] );
+ world
_global.sfd.buffer[idx
] = sfd_encode_glyph( str[i] );
}
}
}
}
}
}
@@
-80,10
+84,10
@@
VG_STATIC void sfd_init( u32 w, u32 h )
VG_STATIC void sfd_update(void)
{
VG_STATIC void sfd_update(void)
{
- for( int i=0; i<world
.sfd.w*world
.sfd.h; i++ )
+ for( int i=0; i<world
_global.sfd.w*world_global
.sfd.h; i++ )
{
{
- float *target = &world.sfd.buffer[i*2+0],
- *cur = &world.sfd.buffer[i*2+1];
+ float *target = &world
_global
.sfd.buffer[i*2+0],
+ *cur = &world
_global
.sfd.buffer[i*2+1];
float const rate = vg.time_delta * 15.2313131414f;
float d1 = *target-*cur;
float const rate = vg.time_delta * 15.2313131414f;
float d1 = *target-*cur;
@@
-99,20
+103,26
@@
VG_STATIC void sfd_update(void)
}
}
}
}
-VG_STATIC void sfd_render( m4x4f projection, v3f camera, m4x3f transform )
+VG_STATIC void bind_terrain_noise(void);
+VG_STATIC void sfd_render( camera *cam, m4x3f transform )
{
{
+#if 0
mesh_bind( &world.sfd.mesh_display );
mesh_bind( &world.sfd.mesh_display );
-
shader_scoretext_use();
shader_scoretext_uTexGarbage(0);
shader_scoretext_uTexGradients(1);
shader_link_standard_ub( _shader_scoretext.id, 2 );
shader_scoretext_use();
shader_scoretext_uTexGarbage(0);
shader_scoretext_uTexGradients(1);
shader_link_standard_ub( _shader_scoretext.id, 2 );
- bind_terrain_
textures
();
+ bind_terrain_
noise
();
vg_tex2d_bind( &tex_scoretext, 1 );
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_uMdl( transform );
- shader_scoretext_uCamera( cam
era
);
+ shader_scoretext_uCamera( cam
->transform[3]
);
for( int y=0;y<world.sfd.h; y++ )
{
for( int y=0;y<world.sfd.h; y++ )
{
@@
-128,21
+138,25
@@
VG_STATIC void sfd_render( m4x4f projection, v3f camera, m4x3f transform )
shader_vblend_uTexGarbage(0);
shader_vblend_uTexGradients(1);
shader_link_standard_ub( _shader_vblend.id, 2 );
shader_vblend_uTexGarbage(0);
shader_vblend_uTexGradients(1);
shader_link_standard_ub( _shader_vblend.id, 2 );
- bind_terrain_textures();
+ bind_terrain_noise();
+ vg_tex2d_bind( &tex_scoretext, 1 );
+
+ shader_vblend_uPv( cam->mtx.pv );
+ shader_vblend_uPvmPrev( pvm_prev );
- shader_vblend_uPv( projection );
shader_vblend_uMdl( transform );
shader_vblend_uMdl( transform );
- shader_vblend_uCamera( cam
era
);
+ shader_vblend_uCamera( cam
->transform[3]
);
mesh_bind( &world.sfd.mesh_base );
mesh_draw( &world.sfd.mesh_base );
mesh_bind( &world.sfd.mesh_base );
mesh_draw( &world.sfd.mesh_base );
+#endif
}
VG_STATIC int world_sfd_test( int argc, const char *argv[] )
{
if( argc == 2 )
{
}
VG_STATIC int world_sfd_test( int argc, const char *argv[] )
{
if( argc == 2 )
{
- int row = vg_min( vg_max(atoi(argv[0]),0), world.sfd.h);
+ int row = vg_min( vg_max(atoi(argv[0]),0), world
_global
.sfd.h);
sfd_encode( row, argv[1] );
}
sfd_encode( row, argv[1] );
}
@@
-152,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" );
VG_STATIC void world_sfd_init(void)
{
vg_info( "world_sfd_init\n" );
+
+#if 0
shader_scoretext_register();
shader_scoretext_register();
+#endif
vg_function_push( (struct vg_cmd){
.name = "sfd",
vg_function_push( (struct vg_cmd){
.name = "sfd",
@@
-173,11
+190,13
@@
VG_STATIC void world_sfd_init(void)
m4x3f identity;
m4x3_identity( identity );
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;
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; j<card->vertex_count; j++ )
{
mdl_vert *vert = &sc->arrvertices[ vert_start+j ];
for( int j=0; j<card->vertex_count; j++ )
{
mdl_vert *vert = &sc->arrvertices[ vert_start+j ];
@@
-187,12
+206,13
@@
VG_STATIC void world_sfd_init(void)
vert->colour[0] = 0.0f;
vert->colour[1] = i*36;
}
vert->colour[0] = 0.0f;
vert->colour[1] = i*36;
}
+#endif
}
vg_acquire_thread_sync();
{
}
vg_acquire_thread_sync();
{
- scene_upload( sc, &world.sfd.mesh_display );
- mdl_unpack_submesh( mboard, &world.sfd.mesh_base, backer );
+ scene_upload( sc, &world
_global
.sfd.mesh_display );
+ mdl_unpack_submesh( mboard, &world
_global
.sfd.mesh_base, backer );
vg_tex2d_init( (vg_tex2d *[]){ &tex_scoretext }, 1 );
}
vg_tex2d_init( (vg_tex2d *[]){ &tex_scoretext }, 1 );
}
@@
-201,12
+221,13
@@
VG_STATIC void world_sfd_init(void)
int w = 27,
h = 13;
int w = 27,
h = 13;
- world.sfd.w = w;
- world.sfd.h = h;
- world.sfd.buffer = vg_linear_alloc( vg_mem.rtmemory, 2*w*h*sizeof(float) );
+ world_global.sfd.w = w;
+ world_global.sfd.h = h;
+ world_global.sfd.buffer =
+ vg_linear_alloc( vg_mem.rtmemory, 2*w*h*sizeof(float) );
for( int i=0; i<w*h*2; i++ )
for( int i=0; i<w*h*2; i++ )
- world.sfd.buffer[i] = 0.0f;
+ world
_global
.sfd.buffer[i] = 0.0f;
}
#endif /* SFD_H */
}
#endif /* SFD_H */