static struct
{
- GLuint fb, rgb, rb, vao, vbo;
+ GLuint fb, rgb, rb;
glmesh mdl;
}
grender;
shader_gate_register();
}
-static void gate_init( void (*newfb)(GLuint*,GLuint*,GLuint*) )
+static void gate_init(void)
{
- newfb( &grender.fb, &grender.rgb, &grender.rb );
- {
- float ksz = 1.0f;
- float quad[] = { -ksz,-ksz,0.0f, ksz, ksz,0.0f, -ksz, ksz,0.0f,
- -ksz,-ksz,0.0f, ksz,-ksz,0.0f, ksz, ksz,0.0f,
- -ksz,-ksz,-0.1f, ksz, ksz,-0.1f, -ksz, ksz,-0.1f,
- -ksz,-ksz,-0.1f, ksz,-ksz,-0.1f, ksz, ksz,-0.1f };
-
- glGenVertexArrays( 1, &grender.vao );
- glGenBuffers( 1, &grender.vbo );
- glBindVertexArray( grender.vao );
- glBindBuffer( GL_ARRAY_BUFFER, grender.vbo );
- glBufferData( GL_ARRAY_BUFFER, sizeof(quad), quad, GL_STATIC_DRAW );
- glBindVertexArray( grender.vao );
- glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE,
- sizeof(float)*3, (void*)0 );
- glEnableVertexAttribArray( 0 );
- VG_CHECK_GL();
- }
+ create_renderbuffer_std( &grender.fb, &grender.rgb, &grender.rb );
model *mgate = vg_asset_read( "models/rs_gate.mdl" );
model_unpack( mgate, &grender.mdl );
mesh_draw( &grender.mdl );
glDisable(GL_BLEND);
- return;
- glBindVertexArray( grender.vao );
- glDrawArrays( GL_TRIANGLES, 0, 12 );
}
static int gate_intersect( teleport_gate *gate, v3f pos, v3f last )