Wednesday, May 18, 2016

nvoglv32.dll.error.OpenGL

[ State ]

[ Conception ]

[ Contents ]
...

[OpenGL nvoglv32.dll error]


From a moderator on the Nvidia open GL forum:https://devtalk.nvidia.com/default/topic/720651/access-violation-in-nvoglv32-dll-how-do-i-track-down-the-problem-/"Access violations during glDrawArrays or glDrawElements are most often due to incorrectly enabled vertex attribute arrays. Please check your current state of the enabled vertex attributes very carefully. One which is left enabled inadvertently without providing any or enough data will result in these kinds of errors when sourcing data out of bounds during the draw call.
If that's not it, maybe there is some problem with memory consumption. You're running a 32-bit app according to the DLL name. Does the same thing happen in a 64-bit version?"
The main reason this sort of thing happens is that you have not set up your draw call correctly.
A second possibility is the scenario found in this S/O post: Crash at draw call in nvoglv32.dll on new video cardIn this example, the user has not initialized Open GL correctly, and it is causing the problem.
Those are two major problems that could be plaguing you. From what I am reading of your source code, it doesn't look as if you have given Draw Arrays any bad arguments, but I would investigate to ensure that your VBOs are being bound properly.
Now, I may be reading your code wrong, but in:
inline void bindAndPoint(GLuint *buffer, int size){    assert(buffer != NULL);    assert(size != NULL);    glBindBuffer(GL_ARRAY_BUFFER, *buffer);    glColorPointer(size, GL_FLOAT, 0, BUFFER_OFFSET(0));}
Shouldn't there be some call to glVertexAttribPointer? I see binding, but not pointing.
If you aren't giving the Vertex Attributes over to the shader, the render shall crash.
...

No comments:

Post a Comment