I had some 3D code, which, as I noticed, will not be displayed in a strict key profile, but perfectly in the context of a "regular" (not explicitly requested as soon as the kernel) profile. To isolate the problem, I wrote the smallest simplest possible OpenGL program, drawing only a triangle and a rectangle:

I published this OpenGL program as a Gist here .
When using the useStrictCoreProfile variable to false, the program does not display error messages on the console and draws a square and a triangle in accordance with the screenshot above, both on Intel HD OpenGL 3.3 and on GeForce with OpenGL 4.2.
However , when using the useStrictCoreProfile parameter set to true, it clears the background color, but does not display three or four, console output:
GLCONN: OpenGL 3.2.0 @ NVIDIA Corporation GeForce GT 640M LE/PCIe/SSE2 (GLSL: 1.50 NVIDIA via Cg compiler) LASTERR: OpenGL error at step 'render.VertexAttribPointer()': GL_INVALID_OPERATION LASTERR: OpenGL error at step 'render.DrawArrays()': GL_INVALID_OPERATION LASTERR: OpenGL error at step 'render.VertexAttribPointer()': GL_INVALID_OPERATION LASTERR: OpenGL error at step 'render.DrawArrays()': GL_INVALID_OPERATION LASTERR: OpenGL error at step '(post loop)': GL_INVALID_OPERATION EXIT
... if 4.2 requires a strict core profile instead of 3.2, the same thing. Applies to 3 different nvidia GPUs, so I assume that I am not responding to a strict kernel profile properly. What have I been doing wrong, and how can I fix it?
Please note: you will not find the call to glEnableVertexAttribArray in the Gist above, since inside the glutil package I import - but this is called as the last step in gist compileShaders () func.
metaleap
source share