PDA

View Full Version : OpenGL Display Lists



AthenaOfDelphi
30-03-2007, 09:56 AM
Hi all,

I have a couple of questions relating to OpenGL display lists.

Firstly, what version of OpenGL do I need to make use of display lists? For example, my OpenGL32.DLL is Ver. 5.0.2195.6611 and is copyrighted 1981-1999.

I'm using the dglOpenGL headers Version 2.

If this isn't the right version of OpenGL32.DLL... how do I upgrade it? I know that sounds like a dull question because you just copy new DLL's over the top, but where do I get updated DLL's. I've installed the latest version of the nVidia drivers and still the ancient DLL persists.

Why am I asking all of this... well, because no matter what I do, I can't get a display list ID from glGenLists(1). I always get 0 meaning its failed. Do I have to do any special initialisation, make any calls before using display lists, load any extensions?

All the documentation I've read about display lists suggests that the code I have now should work. The reason I'm not posting it is because I'd just like some pointers as to what may be causing the problem.

Thanks in advance for any help guys

JernejL
30-03-2007, 11:07 AM
any version will do, but you shouldn't use them, they are slow.

AthenaOfDelphi
30-03-2007, 11:15 AM
If they are slow, whats the point of them? And well... if every version will do display lists... any idea why I can't get them to work?

I'm just learning OpenGL, so I have no idea of the alternatives that are available, so I figured I'd start with the basics :-)

pstudio
30-03-2007, 11:44 AM
any version will do, but you shouldn't use them, they are slow.
I only have some small knowledge about OpenGL, but aren't displaylists made to speed things up?

AthenaOfDelphi
30-03-2007, 11:56 AM
Exactly... every tutorial I read last night supported this with massive frame rate increases. Hence my annoyance that I can't actually seem to make a display list.

Sascha Willems
30-03-2007, 12:28 PM
Even on modern hardware display lists are the fastest way of drawing stuff with OpenGL. Newer cards store them as very well optimized VBOs in their VRAM so there actually is no way of rendering stuff faster with OpenGL.

As for your DLL :
Just ignore it, as driver bring their own OpenGL-ICD which for NVidia is called "nvoglnt.dll" which will override the dll included in windows (OpenGL32.dll)

And for your display lists :
Could you post some code? Maybe you're trying to create them in a wrong spot or do something different wrong but it's hard to tell withou seeing antyhing.

AthenaOfDelphi
30-03-2007, 12:47 PM
Thanks for the responses guys (Sascha, ignore the ICQ I sent you).

I figured it out :-)

dglOpenGL doesn't fully initialise all the procedure addresses until you activate the rendering context for the first time. I was simply creating the list before the glGenLists hook up had been done.

cragwolf
31-03-2007, 01:33 AM
any version will do, but you shouldn't use them, they are slow.

What!!??

cragwolf
31-03-2007, 01:35 AM
It's a common error, to start accessing OpenGL functions before you activate a working rendering context.