AccessViolationException on glCallList()
Submitted by jek on May 3, 2008 - 6:55pm.
I have this strange problem on some other computers than my own. I can render an object using call lists, but when I'm rendering vbo's in the same scene, the program crashes:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Tao.OpenGl.Gl.Imports.CallList(UInt32 list)
at Tao.OpenGl.Gl.glCallList(Int32 list)
at Eiva3D.GMesh.DrawMesh(GLParameters Glp)
How can I track this problem down?

Maybe I've found out
Maybe I've found out something! If I bind the buffer 0 after drawing the vbo, things seem to be working
Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, 0);
Gl.glBindBuffer(Gl.GL_ELEMENT_ARRAY_BUFFER, 0);
If I'm not doing this, I get the access violation exception when calling glCallList on next frame. I don't really uderstand why, so I'm a little worried still. Anyone know why this seems to work?
If you don't set the buffer
If you don't set the buffer to 0, the VBO will still be active, meaning that calls in the display list might try to access the VBO or something...
----------------------
Download Tao svn snapshot build
Experimental Tao rpms (OpenSUSE Build Service)
You are absolutely right !!!
You are absolutely right !!!