#define BUFFER_OFFSET(i) ((char *)NULL + (i))
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 1);
glBufferDataARB(GL_ARRAY_BUFFER_ARB, width*height*3*sizeof(GLfloat), vertexData, GL_STATIC_DRAW_ARB);
while (drawing)
{
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 1);
glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));
glTexCoordPointer(2,GL_FLOAT,0, texCoordData);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawElements(GL_TRIANGLE_STRIP, numElements, GL_UNSIGNED_INT, indexData);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
Sorry the code is so bunched up, I cant seem to put blank lines in it.
ARB Vertex Buffer Objects and textures
I'm having some problems getting VBO's to work. Whenever I try to use a texture it crashes. I put the vertex data in a static draw buffer using glBindBufferARB and glBufferDataARB and I use glDrawElements to draw it. My array of indicies is in system memory, as is my tex coord array. It works fine when I don't use textures although I don't notice any speed increase.
my code basically looks like this, am I do something wrong?
You should add a glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); before pointing the texcoords, since that tells opengl that now it should use system memory and not VBO:s
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement