+ shader_model_gate_use();
+ shader_model_gate_uPv( cam->mtx.pv );
+ shader_model_gate_uCam( cam->pos );
+ shader_model_gate_uColour( (v4f){0.0f,1.0f,0.0f,0.0f} );
+ shader_model_gate_uTime( vg.time*0.25f );
+ shader_model_gate_uInvRes( (v2f){
+ 1.0f / (float)vg.window_x,
+ 1.0f / (float)vg.window_y });
+
+ glEnable( GL_STENCIL_TEST );
+ glStencilOp( GL_KEEP, GL_KEEP, GL_REPLACE );
+ glStencilFunc( GL_ALWAYS, 1, 0xFF );
+ glStencilMask( 0xFF );
+ glDisable( GL_CULL_FACE );
+
+ m4x3f mmdl;
+ ent_gate_get_mdl_mtx( gate, mmdl );
+ shader_model_gate_uMdl( mmdl );
+
+ if( gate->flags & k_ent_gate_custom_mesh ){
+ mesh_bind( &world->mesh_no_collide );
+ for( u32 i=0; i<gate->submesh_count; i++ ){
+ mdl_submesh *sm = mdl_arritm( &world->meta.submeshs,
+ gate->submesh_start+i );
+ mdl_draw_submesh( sm );
+ }
+ }
+ else {