Vertex Buffer Object
|
/////////////////// Create the VBO //////////////////// float positionData[] = { -1.f, 1.f, 0.f, -1.f, -1.f, 0.f, 1.f, -1.f, 0.f, 1.f, 1.f, 0.f };
// Create and populate the buffer objects glGenBuffers(1, vboHandles); GLuint positionBufferHandle = vboHandles[0];
glBindBuffer(GL_ARRAY_BUFFER, positionBufferHandle); glBufferData(GL_ARRAY_BUFFER, 12 * sizeof(float), positionData, GL_STATIC_DRAW);
// Create and set-up the vertex array object glGenVertexArrays( 1, &vaoHandle ); glBindVertexArray( vaoHandle );
glEnableVertexAttribArray(0); // Vertex position
glBindBuffer(GL_ARRAY_BUFFER, positionBufferHandle); glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE, 0, (GLubyte *)NULL ); glDrawArrays(GL_QUADS, 0, 4 );
|