nythrix's picture

GL3 forward compatible context

I'm glad Inertia mentioned this:
But there is also a big decision coming with GL3. Forward compatible contexts.
The way I understood the manual, a forward compatible context will generate invalid-operation errors whenever you call e.g. glVertex3f(). The solutions I see for this are
a) Use compiler conditionals to compile OpenTK either against GL 2.1 or GL 3.0
b) Don't do anything at all. Let the user sort out what's allowed in GL3+ contexts.
c) completely remove legacy extensions and functions. Set GL3.0 as standard.

See: http://www.opentk.com/node/490#comment-2414

The discussion definitely needs it's own thread. From my point of view (1/3 way to alpha, mid-sized project) I would very much prefer number three. It will probably break almost all of my code but I'd rather fix a bunch of syntax errors than a single runtime one.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
JTalton's picture

Many Intel Atom boards use the Intel GMA 950 chipset which according to http://en.wikipedia.org/wiki/Intel_GMA only supports OepnGL 1.4. I'd love to see that proven wrong.

As for display lists, are they being deprecated? I like the idea of creating VBOs and then putting the calls to mulitple VBOs in a display list. (I think that is possible)

the Fiddler's picture

Yeah, GMA 950 is GL 1.4 only. However, Atom boards won't run anything remotely intensive at acceptable speeds anyway, so it's no big loss.

Display lists in their current form are deprecated, but it's rumored that GL 3.1 will contain an updated version.

george's picture

yeah, the 950 chipset is what I was thinking, there are still a fair number of laptops that ship with that, plus obviously a large number of legacy systems, it's been a pretty popular option on cheaper motherboards.
I find display lists a bit simpler to manage when you don't know the number of elements in advance, plus I like being able to encapsulate state changes in there. I wouldn't be surprised at all to find an updated version of display lists in 3.1, with the geometry moved into vbos they're really very close to the pushbuffers that the gpu actually executes. Being able to prebuild bits of pushbuffers would open up some nice optimisation possibilities, it's what us console programmers have been doing for years.