On Wednesday, 12 August 2015 at 05:58:23 UTC, BBasile wrote:
On Wednesday, 12 August 2015 at 05:46:27 UTC, Mike Parker wrote:
On Wednesday, 12 August 2015 at 05:34:22 UTC, BBasile wrote:
[...]
It seems to me that your driver is doing things it isn't
actually supposed to do. This code is binding a vertex buffer
object with a function which is supposed to bind a vertex
array object. The only reason the vbo is bound at all is
because of the call to glBindBuffer in the misnamed initVAO --
a function which never even initializes a vao. The spec
actually requires a vao to be created and a shader program to
be bound, so I would expect a conforming driver to show
nothing.
I expect a couple of calls to glError will not come up empty.
Right, the triangle is well drawn but glGetError returns 1282.
Maybe the OP has a different OGL implementation. At least
NVidia driver renders a triangle for this code.
Depends on what context gets created in this case. A core profile
context shouldn't render anything without a bound shader. NVidia
likes backwards compatibility, so it's possible this code works,
it's just using fixed function pipeline rendering, which isn't
typically what people want when they mention "GL3". Might as well
use glBegin/glEnd, and it would work too.