QGLWidget: renderpixmap und vertex buffer objects
Verfasst: 11. Juli 2009 13:05
Hallo,
habe folgendes Problem bei der Benutzung von renderpixmap unter Verwendung von vertex buffer objects.
Die Applikation stürzt beim rendern der pixmap beim aufruf von glDrawElements mit einer Zugriffsverletzung ab.
Das Zeichnen der Szene erfolgt mit folgendem code:
Alle verwendeten arrays sind korrekt erstellt und haben die korrekte größe. Das Zeichnen funktioniert ja auch, wenn nicht in die pixmap gerendert wird.
Hat jemand eine Idee, was ich falsch mache?
Alle initialisierungen werden in initializeGL() gemacht, gelGetError() gibt bis zur Ausführung von glDrawElements stets GL_NO_ERROR zurück...
Gruß,
Daniel.
habe folgendes Problem bei der Benutzung von renderpixmap unter Verwendung von vertex buffer objects.
Die Applikation stürzt beim rendern der pixmap beim aufruf von glDrawElements mit einer Zugriffsverletzung ab.
Das Zeichnen der Szene erfolgt mit folgendem code:
Code: Alles auswählen
glEnableClientState( GL_VERTEX_ARRAY );
glEnableClientState( GL_NORMAL_ARRAY);
glEnableClientState( GL_COLOR_ARRAY );
glBindBuffer(GL_ARRAY_BUFFER, m_VBO );
// Specify the vertex and color attributes
glVertexPointer( 3, GL_FLOAT, sizeof(Vertex3), (void*)NULL);
glColorPointer( 3, GL_UNSIGNED_BYTE, sizeof(Vertex3), BUFFER_OFFSET( 5*sizeof(GLfloat) ));
glNormalPointer(GL_FLOAT,sizeof(Vertex3),BUFFER_OFFSET(5*sizeof(GLfloat)+4*sizeof(GLubyte)));
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_IBO);
glDrawElements( GL_TRIANGLES, 3*m_numberOfTriangles, GL_UNSIGNED_INT, NULL);
glDisableClientState( GL_COLOR_ARRAY );
glDisableClientState( GL_NORMAL_ARRAY );
glDisableClientState( GL_VERTEX_ARRAY );
Hat jemand eine Idee, was ich falsch mache?
Alle initialisierungen werden in initializeGL() gemacht, gelGetError() gibt bis zur Ausführung von glDrawElements stets GL_NO_ERROR zurück...
Gruß,
Daniel.