- glGenVertexArrays( 1, &pscene->vao );
- glGenBuffers( 1, &pscene->vbo );
- glGenBuffers( 1, &pscene->ebo );
- glBindVertexArray( pscene->vao );
-
- glBindBuffer( GL_ARRAY_BUFFER, pscene->vbo );
- glBufferData( GL_ARRAY_BUFFER, pscene->vertex_count*sizeof(model_vert),
- pscene->verts, GL_STATIC_DRAW );
-
- glBindVertexArray( pscene->vao );
- glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, pscene->ebo );
- glBufferData( GL_ELEMENT_ARRAY_BUFFER, pscene->indice_count*sizeof(u32),
- pscene->indices, GL_STATIC_DRAW );
-
- glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE,
- sizeof(model_vert), (void*)0 );
- glEnableVertexAttribArray( 0 );
-
- glVertexAttribPointer( 1, 3, GL_FLOAT, GL_FALSE,
- sizeof(model_vert), (void *)offsetof(model_vert, norm) );
- glEnableVertexAttribArray( 1 );
-
- glVertexAttribPointer( 2, 4, GL_FLOAT, GL_FALSE,
- sizeof(model_vert), (void *)offsetof(model_vert, colour) );
- glEnableVertexAttribArray( 2 );
-
- glVertexAttribPointer( 3, 2, GL_FLOAT, GL_FALSE,
- sizeof(model_vert), (void *)offsetof(model_vert, uv) );
- glEnableVertexAttribArray( 3 );
-
- VG_CHECK_GL();