Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why were display lists deprecated in opengl 3.1?

Tags:

I'm just learning about them, and find it discouraging that they have been deprecated. Should I keep investing into learning them? Would I learn something useful for the current model?

like image 978
andandandand Avatar asked Nov 06 '10 16:11

andandandand


People also ask

Is OpenGL deprecated?

In June 2018, Apple deprecated OpenGL APIs on all of their platforms (iOS, macOS and tvOS), strongly encouraging developers to use their proprietary Metal API, which was introduced in 2014.

What is display list OpenGL?

A display list is a group of OpenGL commands that have been stored for later execution. When a display list is invoked, the commands in it are executed in the order in which they were issued.

When did OpenGL 3.3 come out?

OpenGL 3.3 (2010) Shader-defined locations for attributes and fragment shader outputs. Links: OpenGL 3.3 Core Profile Specification.


1 Answers

I think, though I may be wrong, that since most high-performance graphics apps (mostly games) pretty much only used vertex buffers and the like (in order to squeeze every drop of performance out of the card), that there was pressure to stop worrying about "frivolous" items such as display lists (and even good-old glVertex calls). IMHO, this provides a huge barrier to people learning to write OpenGL code, and (for my own purposes) is a big impediment to whipping up some quick, legible, and reasonably well performing code.

Note that these features were deprecated in 3.0, and actually removed in 3.1 (but still provided compatibility via an ARB extension). In OpenGL 3.2, they moved these features into a 'compatibility' profile that is optional for driver writers to implement.

So what does this mean? NVidia, at least, has vowed to continue support for the old-school compatibility mode for the forseeable future - there is a large wealth of legacy code out there that they need to support. You can find the discussion of their support in a slideshow at:

http://www.slideshare.net/Mark_Kilgard/opengl-32-and-more

starting at about slide #32. I don't know ATI/AMD's stance on this, but I would assume that it would be similar.

So, while display lists are technically removed from the required portion of the OpenGL 3.2 standard, I think that you are safe using them for quite a while. Eventually, you may wish to learn the buffer/shader-centric interface to OpenGL, especially if your end-goal is envelope-pushing game writing, but it really is a lot less intuitive (no glRotate, even!), so I would recommend starting with good old OpenGL 2.x.

-matt

like image 124
Gretchen Avatar answered Sep 23 '22 02:09

Gretchen