From: hgn Date: Mon, 5 Feb 2024 21:28:07 +0000 (+0000) Subject: make glider look nice X-Git-Url: https://harrygodden.com/git/?p=carveJwlIkooP6JGAAIwe30JlM.git;a=commitdiff_plain;h=0d211bc488751a2cbc380990492ec549e91b19ca make glider look nice --- diff --git a/models_src/glider.mdl b/models_src/glider.mdl index dc26c94..0a2ca3c 100644 Binary files a/models_src/glider.mdl and b/models_src/glider.mdl differ diff --git a/particle.c b/particle.c index e1f6ac8..9c1f87e 100644 --- a/particle.c +++ b/particle.c @@ -95,14 +95,11 @@ static void async_particle_init( void *payload, u32 size ){ VG_CHECK_GL_ERR(); } -static void particle_alloc( particle_system *sys, u32 max ){ - static int reg = 1; - if( reg ){ - shader_particle_register(); - shader_trail_register(); - reg = 0; - } +static void particle_init(void){ + shader_particle_register(); +} +static void particle_alloc( particle_system *sys, u32 max ){ size_t stride = sizeof(particle_vert); sys->max = max; diff --git a/player_glide.c b/player_glide.c index eccf3ab..331565c 100644 --- a/player_glide.c +++ b/player_glide.c @@ -394,7 +394,25 @@ static void player_glide_bind(void){ &player_glide.glider_textures[i+1] ); } + /* load trail positions */ + mdl_array_ptr markers; + MDL_LOAD_ARRAY( mdl, &markers, ent_marker, vg_mem.scratch ); + + for( u32 i=0; itransform.co, + player_glide.trail_positions[ player_glide.trail_count ++ ] ); + + if( player_glide.trail_count == vg_list_size(trails_glider) ) + break; + } + mdl_close( mdl ); + + /* allocate effects */ + for( u32 i=0; imtx.pv ); shader_trail_uPvPrev( cam->mtx_prev.pv ); + shader_trail_uColour( (v4f){1.0f,1.0f,1.0f,1.0f} ); glBindVertexArray( sys->vao ); glDrawArrays( GL_TRIANGLE_STRIP, 0, sys->count*2 ); } + +static void trail_init( void ){ + shader_trail_register(); +} diff --git a/trail.h b/trail.h index dc90fc9..58bcb93 100644 --- a/trail.h +++ b/trail.h @@ -26,11 +26,6 @@ struct trail_system { /* render settings */ f32 width, lifetime, min_dist; -} -static trails_test = { - .width = 0.25f, - .lifetime = 5.0f, - .min_dist = 0.5f }; static void trail_alloc( trail_system *sys, u32 max );