[PyOpenGL-Users] VBOs question
Brought to you by:
mcfletch
From: Duong D. <dan...@gm...> - 2010-05-14 17:44:05
|
Hi there, I'm rendering a scene consisting of multiple VBO objects. I basically did the following in my callback function. But only the very last object in the list shows up. Am I missing something? Any help will be greatly appreciated!! Thanks, D class vboObjects: def __init__(arg): self.vertex_vboId self.normal_vboId self.index_vboId self.count ....generate ids, register data into OpenGL def updatePositionsInScene(): ..... def GLcallBack(): update positions of all vbo objects for all vbo objects: glPushMatrix() glTranslatef(new position) glEnableClientState(GL_NORMAL_ARRAY); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_INDEX_ARRAY); glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo.vertex_vboId); glVertexPointer( 3, GL_FLOAT, 0, None ); glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo.normal_vboId); glNormalPointer(GL_FLOAT, 0,None); glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, vbo.index_vboId); glColorPointer(3,GL_FLOAT, 0, None); glDrawElements(GL_TRIANGLES, vbo.count, GL_UNSIGNED_SHORT, None); glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_NORMAL_ARRAY); glDisableClientState(GL_INDEX_ARRAY); glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); glPopMatrix() glutSwapBuffers() return True |