PDA

View Full Version : OpenGL 1.0 to OpenGL 3.2 Core migration



Gessos Paul
12-18-2009, 07:13 AM
Before 10 seconds I realize the end of known world.

The deprecation of glBegin/glEnd, display lists and many many others sounds to me like a need to learn a 3d graphics machine from scratch. (I never used shading language before because I am hobbist)

Is there a migration tutorial out there for all deprecated things?
like "Hey dude! Don't use display lists anymore. Use this piece of code instead".

PS: No glBegin() dude! How the hell I can draw triangle strips or lines?

Y-tension
12-18-2009, 08:21 AM
No need to panic! You can still create a compatibility context with OpenGL 3.2 to access your favorite functions.
But if you are serious about it, start learning core OpenGL 3.2. It may enforce a different coding paradigm but it is the fast code path, plus, allows so many more effects than plain ole 1.0.
Look at www.opengl.org (http://www.opengl.org) for some recently posted tutorials.

ZbuffeR
12-18-2009, 09:10 AM
For posterity, as the front page news shifts with time, here is the direct link :
http://nopper.tv/opengl_3_2.html

Aleksandar
12-18-2009, 11:27 AM
Does it work on your machine, Zbuffer?
Because, I didn't succeed to execute the projects (on either of three different configurations). Probably error in glew32.dll (rebuilt by nopper). Debugging points to

if (!glewIsSupported("GL_VERSION_3_2"))
and the message "OpenGL 3.2 not supported." Which is certainly not true on all my machines!

That's the reason I like to skip additional libraries in the tutorials. ;)

Jan
12-18-2009, 11:50 AM
To replace immediate mode (glBegin / glEnd) you can use this library: glim (http://artifactgames.de/glim)

You need to use GLSL, though, but that's so much more powerful anyway, you'll never want to do without it after you tried it.

Jan.

akashiraffee
12-18-2009, 02:00 PM
Before 10 seconds I realize the end of known world.

The deprecation of glBegin/glEnd, display lists and many many others sounds to me like a need to learn a 3d graphics machine from scratch. (I never used shading language before because I am hobbist)

Is there a migration tutorial out there for all deprecated things?

Nope. I ran into this last week. You want to learn "Vertex Buffer Objects" (VBO's) to replace all the glBegin/glEnd stuff. GLSL is actually not related to this -- if you are not already using "shaders" then don't worry, it's a separate issue.

The material available on the web is of varying quality and I won't recommend any of it in particular (take your pick!). Because of that, I am actually working on such a tutorial right now. I will probably be posting a draft of it here in the next few days for review and criticism.

If you have access to a major library system, the 7th edition of the redbook has some stuff on VBO's in it (oddly, it also still seems to focus on immediate mode, despite being geared to 3.0!). But the best thing I've found was the very first section in "More OpenGL Game Programming" (David Aster, ed.) Hopefully the rest of the book is as well written because it looks to contain some interesting stuff...more about general 3D than anything particular to do with games.

Anyway, don't freak out, it's not that extreme a change, it makes more sense, and it's ultimately an easier, less ridiculous, more "powerful" way to program, I think. If you want to wait those few days, you can save a lot of time having someone who just wasted the time explain it instead ;) And let me know what is clear, and what isn't.

Aleksandar
12-18-2009, 02:43 PM
The material available on the web is of varying quality and I won't recommend any of it in particular (take your pick!). Because of that, I am actually working on such a tutorial right now. I will probably be posting a draft of it here in the next few days for review and criticism.
I'm hardly awaiting your spectacular tutorial!
Be ready for the same dose of criticism you have afforded to others. ;)

akashiraffee
12-18-2009, 03:47 PM
I'm hardly awaiting your spectacular tutorial!
Be ready for the same dose of criticism you have afforded to others. ;)

:cool:
Hey you are free to ignore it! After all, this is for people who don't understand already. (And don't worry, I have a very thick skin).

You are also free to contribute if you are so moved, I'll even format the material and give you credit, etc. Just not til tomorrow.

thekend
12-22-2009, 01:00 PM
On my machine nopper.tv tutorials also don't work. I have only black screen.

glGetError() returns GL_INVALID_ENUM immediately after glewInit().

McNopper
02-05-2010, 02:37 AM
Please try the nopper.tv examples with the latest, official GLEW (which supports OpenGL 3.2) again. I already got feedback - the samples do work both on NVIDIA and ATI.

lordyrm
02-05-2010, 05:48 AM
When i try to compile the code from nopper.tv i get " Could not create window".