Learning Open GL Advanced Features

Started by
8 comments, last by JuggernautDev 11 years, 8 months ago
Hello,

I am looking for online tutorials on learning advanced features of OpenGL ( found implemented in game engines ) that are available in the more recent versions - 3.2 - 3.3 and 4.0 - 4.2 and that are at par with what is available in the recent version of DirectX 11.

I have decided to skip OpenGL 2.0 version since it is at par with DirectX9 only and is almost 4 years old. What is your opinion on this ?

One more question - will the game created with OpenGL 3.0+ or OpenGL 4.0+ run on Windows XP ?

Thanks,
Advertisement
My honest opinion on this is that as long as you don't actually need a feature that is not present in OpenGL 2.0, there's absolutely no point in using the later versions just because they are shiny and new. Keep in mind that - for various reasons - even today most game titles are build on the D3D9/OGL2 feature set.
Whether the newer OpenGL versions are supported on Windows XP depends on the graphics card drivers, not the OS (as opposed to DirectX). I only know about ATI/AMD cards and their drivers offer OpenGL 4.0 on Windows XP since late 2010. I'm fairly sure the same is true for NVIDIA. Most Intel cards, however, are stuck with OpenGL 3.2 at best.
That depends a little on what you mean by advanced features. With OpenGL 4, there are a couple of new features compared to OpenGL 3. But many of them were available anyway through the extensions. Tutorials tend to address basic functionality; you learn how to get going. But to do advanced things, you have to dig deep and go to the source (the OpenGL specification).

There are books, like the superbible, that are good at advanced things. But you ruled that out. A little strange, because if you are going deep into this type of subject then buying a book is a minuscule investment compared to the time you are going to spend.

You are sure you know about the basics? If you don't know the difference from OpenGL 2.1 to OpenGL 3, then you are not yet ready for the advanced stuff. If not, you will find a very good tutorial at Learning Modern 3D Graphics Programming (based on current technology).

OpenGL 4 works fine with Windows XP.
[size=2]Current project: Ephenation.
[size=2]Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/
Thanks for all the replies. In many forums on the internet I have seen comments stating that OpenGL 2.0 or 2.1 is a bit messy because the features are mostly available through extensions and that all drivers may or may not have support for all the extensions. They also recommend not to start with NeHe OpenGL tutorials and alikes because they are old school and are mostly obsolete code based on OpenGL version 1.1 and 1.5 and that the currently available advanced stuffs/effects that we get to see in commercial games cannot be achieved while using 1.1/1.5/2.0/2.1 - It is their opinion, not mine.

I am just an OpenGL starter with a background knowledge in C programming (no C++). I had no idea that OpenGL Super Bible has in depth explanation of techniques and effects that we get to see in recent commercial games. I thought it just only covers the basics and so went to find some online tutorials that
teaches the new comer from basics to the most advanced techniques used in the industry.
If I would rate the level, then I would assign "basic" to the link i provided above, and intermediary to the superbible. For advanced OpenGL, you should instead study some papers available from the manufacturers, and spend a couple of years as a games programmer. But you can't take any of these steps without first learning the basics. And it is not very easy. Just to mention something, you need a good understanding of matrix math to be able to reach the intermediary levels.

AMD papers:
http://developer.amd.com/documentation/presentations/GPUTechnicalPublications/Pages/default.aspx
There are a lot of interesting things like "An Optimized Diffusion Depth of Field Solver", "Deferred Shading Optimizations", "Efficient Compute Shader Programming", "Tessellation performance". If you are going to make a "real commercial game", your, or someone in your team, probably need to study all this.
[size=2]Current project: Ephenation.
[size=2]Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/
@larspensjo: Thank you for your advice. I will look into it. So I guess I am better off starting with NeHe tutorials I guess.
I personally would still concentrate on 3+. The reason being that using 2.x after understanding 3+ is really easy while going from 2 -> 3 there is a high chance that you have to "unlearn" things that got deprecated in newer versions. Using pure programmable pipeline also has the advantage that it exposes more of the inner workings as opposed to the "easy" blackbox that is fixed function/matrix stack. It's just more transparent.

I personally would still concentrate on 3+. The reason being that using 2.x after understanding 3+ is really easy while going from 2 -> 3 there is a high chance that you have to "unlearn" things that got deprecated in newer versions. Using pure programmable pipeline also has the advantage that it exposes more of the inner workings as opposed to the "easy" blackbox that is fixed function/matrix stack. It's just more transparent.


Oh I see. Are NeHe tutorials updated to 3.x version ? Can you suggest online tutorials based on 3.x version that covers basic to advanced techniques that are available in indie game engines available in the market ?

Oh I see. Are NeHe tutorials updated to 3.x version ? Can you suggest online tutorials based on 3.x version that covers basic to advanced techniques that are available in indie game engines available in the market ?

A stock recommendation is http://www.arcsynthesis.org/gltut/
I also like to plug the examples from my signature: https://github.com/progschj/OpenGL-Examples ;).

[quote name='JuggernautDev' timestamp='1343512505' post='4964113']
Oh I see. Are NeHe tutorials updated to 3.x version ? Can you suggest online tutorials based on 3.x version that covers basic to advanced techniques that are available in indie game engines available in the market ?

A stock recommendation is http://www.arcsynthesis.org/gltut/
I also like to plug the examples from my signature: https://github.com/p...OpenGL-Examples ;).
[/quote]

Thanks for the links. I guess, those are enough for starting now. :)

This topic is closed to new replies.

Advertisement