So, entering into my last year of my degree program, I decided I'd like to finally get around to working on some game development (comp sci major). I'd done a lot with DirectX 7 a long time ago, but I never completed a project. I decide to start small with a 2d Tetris clone. I found some tutorials and got the game about half complete or so. I show my friend (who has completed several games) what I've got and he's happy for me. He then adds, "But you're using all the deprecated stuff." My immediate reaction was, "Huh?" He explained to me about OpenGL immediate mode and how new things were done in OpenGL 3.xx and 4.xx and they seemed more in line from what I remember about DirectX. I resolved that I would go and learn the new way to do things and.. I hit a brick wall.
First of all, how do you even know what's deprecated?
Second of all, I can't seem to find any tutorials that are usable for OpenGL 3 or 4. The few that I have found are so full of game framework stuff and extraneous code that it's difficult to wade through it all. Of course, I can wade through the documentation on opengl.org, but I was really hoping to find something to get me going a little quicker than that. I have seen numerous recommendations that people start with 2.0 and then migrate to other versions, but I have seen just as many recommendations that condemn these suggestions and say that it will only teach bad habits.
Of course, I don't have to use the newest API for a 2D Tetris game, but my goal was to learn using this game and then move up to something more difficult. Can someone please offer some guidance in the way of suggesting a tutorial or book that is at least somewhat up to date? My frustrations have forced me into contemplating going back towards a DirectX route. At least there seems to be a plethora of DirectX 11 tutorials. Any help would be greatly appreciated.
OpenGL Learning Resources
If you want to see what's deprecated, the reference card is a quick place to check:
http://www.khronos.org/files/opengl4-quick-reference-card.pdf
Any functions that are in blue are deprecated.
There's really not that much you need to know to be up to date, basically all boils down to:
1) Don't use the fixed pipeline for anything
2) Handle your own matrices
3) Use generic vertex attributes/uniforms with shaders
4) Don't use built-in lighting commands
Just following those rules will get you 95% up to date with modern opengl. Picking out any one of those items I'm sure you can find tutorials, so it's not too difficult.
http://www.khronos.org/files/opengl4-quick-reference-card.pdf
Any functions that are in blue are deprecated.
There's really not that much you need to know to be up to date, basically all boils down to:
1) Don't use the fixed pipeline for anything
2) Handle your own matrices
3) Use generic vertex attributes/uniforms with shaders
4) Don't use built-in lighting commands
Just following those rules will get you 95% up to date with modern opengl. Picking out any one of those items I'm sure you can find tutorials, so it's not too difficult.
People who write tutorials are people who do it in their spare time and have a website. I imagine there aren't many such people.
Personally, I contribute to the Wiki in my spare time.
Personally, I contribute to the Wiki in my spare time.
First of all, how do you even know what's deprecated?[/quote]
karwosts answered that.
Also, you make a forward context (not backward compatible context).
See some tutorials here http://www.opengl.org/wiki/Tutorials
It is possible to use GL 2.0 while and avoid deprecated stuff. If one day you decide to more to GL 3.3 or GL 4.0, it becomes much easier. You would just add VAO support and change the shader code a little.
Thanks very much for the replies.
I didn't mean to sound ungrateful to those that write the tutorials, I was just a bit frustrated at the time. I'd also accept recommendations on books, but I forgot to mention that.
I will do some research in those specific topics and look at the list of deprecated methods. Thanks very much!
I didn't mean to sound ungrateful to those that write the tutorials, I was just a bit frustrated at the time. I'd also accept recommendations on books, but I forgot to mention that.
I will do some research in those specific topics and look at the list of deprecated methods. Thanks very much!
I am having the same issue currently. However, I found this:
http://www.arcsynthesis.org/gltut/
This is a really cool tutorial regarding OpenGL 3.X.
Worth a read. Although I did not manage yet to get my ortho matrices working.
http://www.arcsynthesis.org/gltut/
This is a really cool tutorial regarding OpenGL 3.X.
Worth a read. Although I did not manage yet to get my ortho matrices working.
I am in the same position as you. Just started with OpenGL and want to learn GLSL. 2.0 is still great but immediate mode for rendering is no longer used and for cool graphic effects shader GLSL is a must. Mainting the martices on your own :confused: vertex array and VBO are used now. I am also looking for some great tutorial on these, books.
What about these books are they good with examples code explained ? Orange book GLSL in particular
http://www.opengl.or...hading_language
Thanks for the link I will have a go at it
What about these books are they good with examples code explained ? Orange book GLSL in particular
http://www.opengl.or...hading_language
I am having the same issue currently. However, I found this:
http://www.arcsynthesis.org/gltut/
This is a really cool tutorial regarding OpenGL 3.X.
Worth a read. Although I did not manage yet to get my ortho matrices working.
Thanks for the link I will have a go at it
Everything works now for me.
Was a good read so far. I am not finished with that tutorial.
But if you like to see the difference between my Code with OGL 2.0 and now, see this link:
http://code.google.com/p/nightlighttv/source/diff?spec=svn43&r=43&format=side&path=/NightLight/trunk/NightLightDLL/NLQuad.cpp&old_path=/NightLight/trunk/NightLightDLL/NLQuad.cpp&old=41
However, the architecture of that code is still somewhat archaic and I will change the whole thing the next days to make it more batchfriendly.
Was a good read so far. I am not finished with that tutorial.
But if you like to see the difference between my Code with OGL 2.0 and now, see this link:
http://code.google.com/p/nightlighttv/source/diff?spec=svn43&r=43&format=side&path=/NightLight/trunk/NightLightDLL/NLQuad.cpp&old_path=/NightLight/trunk/NightLightDLL/NLQuad.cpp&old=41
However, the architecture of that code is still somewhat archaic and I will change the whole thing the next days to make it more batchfriendly.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement