cancel
Showing results for 
Search instead for 
Did you mean: 

Deprecated OpenGL API usage in CAPI_GL_HSWDisplay.cpp

jherico
Level 5
I was attempting to run some of my C++ and Java examples on my Mac today, preparing for the release of the Java bindings for 0.4.1 and I discovered that the asserts in CAPI_GL_HSWDisplay.cpp were going absolutely nuts because of the OpenGL usage in that file.


GLint RenderModeSaved;
glGetIntegerv(GL_RENDER_MODE, &RenderModeSaved);
OVR_ASSERT(glGetError() == 0);


This will trigger the assert on OSX when using a core profile because GL_RENDER_MODE is deprecated functionality.


glGetVertexAttribiv(i, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &VertexAttribEnabledSaved[i]);


This also triggers an assert, most likely because no vertex array object is bound when it's being called. Per the documentation:


GL_INVALID_OPERATION is generated if pname is not GL_CURRENT_VERTEX_ATTRIB and there is no currently bound vertex array object.


Oculus should really be testing all their GL code against core profiles, but they're clearly not doing so since virtually every SDK release has had one issue or another with OpenGL versions > 3.x Core.
Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action
1 REPLY 1

Afuerg
Level 2
"jherico" wrote:
Oculus should really be testing all their GL code against core profiles, but they're clearly not doing so since virtually every SDK release has had one issue or another with OpenGL versions > 3.x Core.

I agree, having to deal with all these OpenGL issues every release is a real hassle.