Derelict, SDL, and OpenGL3: Triangle Tribulations

JN via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Aug 12 01:43:42 PDT 2015


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.


More information about the Digitalmars-d-learn mailing list