OpenGL 3.3+ Tutorials

Published July 27, 2014 by Michal Bubnar, posted by michalbb1
Do you see issues with this article? Let us know.
Advertisement
OpenGL 3.3+ Tutorials from the very basics to more advanced concepts. The minimum version of OpenGL used is 3.3, where all of the deprecated stuff has been removed, so the knowledge you learn is forward compatible
http://www.mbsoftworks.sk/index.php?page=tutorials&series=1
Cancel Save
0 Likes 12 Comments

Comments

Misantes

Just wanted to say thanks for all your work! I'll definitely be spending some time with these :)

July 26, 2014 05:58 AM
JoeyDewd

Good job on the tutorials. Back when I started experimenting with OpenGL I used several of your articles to get stuff working on my screen ;)

Liked your relaxed way of teaching all the concepts, making it an easy read.

July 26, 2014 11:10 AM
Krossfire

Great tutorials, especially for OGL beginners like me. Thank you very much 8-)

July 26, 2014 11:29 AM
luorax

Congratulations for your graduation Michal!

Your tutorials are prime quality, and were a lot of help for me when I started learning about OpenGL. And they continued to be even after becoming more experienced: the font rendering one had a lot of useful information about FreeType, for example, even though I knew how to set up projections and such.

BTW, I have a question for you in regards to future tutorial content (or you can think of this as a requestion/suggestion for an upcoming tutorial): now that you've released your particle tutorial, and even based your graduation thesis on particles, do you plan on doing one more advanced type of particles, like ribbons and beams? They're like the most awesome particle types, and yet you cannot find a SINGLE tutorial on them, or even a clue about where and how you should start. I plan on starting to work on my own particle implementation once I'm done with SSAO, so I might be able to come up with something on my own once I have more experience with GPU soft particles, but it'd be helpful if there was at least a demo code, if not a tutorial, that'd help immensely.

Congratulations again, and keep up the good work!

July 26, 2014 05:54 PM
michalbb1

Thank you all very much for your kind feedback :)

And luorax - I have in my mind plans for making tutorials generally on effects. By effects I mean things like how to create a realistic looking lightning bolt, exactly as you said BEAMS, then some cool explosions and so on. I know that there isn't a single compiled tutorial for this kind of thing, and that's sad. But I can hint you where to find the knowledge - I would look to some released codes from ID software, like Return To Castle Woflenstein (there's Tesla Gun, creating a pretty nice lightning), or Doom 3 (Beam can be found somewhere by the Grabber gun, Grabber is Doom 3's expansion Ressurection Of Evil). I would draw an inspiration from there.

But I will do it in the future. Currently, my next tutorial is going to be bump mapping and then shadows. These things still belong to pretty basics and after that, I will have all the basics required for a decent looking graphics covered.

However, these tutorials are only like my hobby, so I don't dedicate all my time to them. But I really enjoy doing them and if that could earn me living somehow, I would definitely like to write such stuff everyday :)

July 27, 2014 08:05 AM
michalferko

Hi, nice to see students from our university retaining interest in OpenGL. Keep up the good work.

However, the tutorials seem to be a bit older, and I suggest you do a revision of the older tutorials. More specifically, tutorial no. 3 introduces shaders, but just informs the user that a shader could not be compiled (no errors are shown). Retrieving a shader info log in the case that happens should be mandatory and people should be taught to do that from the beginning.

The same goes for the font tutorial. Creating a separate texture for each character is probably the worst possible way you could do it.

Both of these you created a few years back, so don't think that I'm saying your tutorials are bad. I am just trying to increase the quality of your work.

July 28, 2014 02:19 PM
tnovelli

Yep, texture atlasing would be good... maybe as a 2nd font tutorial. The simple "shelf" algorithm would work fine for this, but still adds quite a bit of complexity. You'd have to make a first pass to calculate row heights etc.

July 28, 2014 02:42 PM
michalbb1

That's true - older tutorials are a bit outdated and they definitely need a little revision. There are still some mistakes reported older tutorials, that I haven't revised yet, so there is still a lot of work to do. But if people out there read comments, they should figure a better way anyways.

Some tutorials (namely font tutorial) are really uneffective. Instead of just upgrading Font Tutorial number 9 I will rather create a tutorial called something like Freetype Fonts: Reloaded :D I mean, anytime someone suggests a major upgrade to tutorial (in case of fonts it's one big texture with all letters), I'd rather remake whole tutorial instead. This tutorial may have some antialiasing as well :)

I will try to keep up the good work, and I must say I am no OpenGL guru, I learn many things on the fly, while writing tutorials. So sometimes I find / someone suggests in comments a better way to do something, but if these tutorials can be upgraded with community contribution, I will gladly do it :)

July 28, 2014 03:00 PM
mmakrzem

I recently posted a video tutorial on my website showing how I implemented a Batch Render Manager in OpenGL. I haven't found any good references to compare against, so I'd love to see how other people handle batch rendering in OpenGL.

July 29, 2014 02:28 AM
michalbb1

Hi Marek, I know your webpage btw. :) You should maybe post an article about it, so that no one misses it (it might get lost here inside the comments plus I think it's pretty useful thing to do), but what I wanted to say is that some time ago I was playing with my own Batch Renderer class. It had exact same functions like old OpenGL (glVertex3f, glTexCoord2f etc.) ant internally it stored stuff in a vector.

First version was just buffering data into vector and when user called glEnd(), the data got uploaded and rendered. However, constant uploading of all buffers was a little slow, so then I was just thinking of creating separate buffers for every glBegin() and glEnd() pair, and as long as the data inside are not changed (by doing checksum for example), I didn't want to reupload. However, the I never programmed the latter part :D

July 29, 2014 06:34 AM
mmakrzem

You should maybe post an article about it, so that no one misses it (it might get lost here inside the comments plus I think it's pretty useful thing to do)

Hmmm, that is a good idea. If I write an article on how I do my batch rendering then perhaps people will see it and suggest better ways to do it.

Thanks, I'll start writing something up this weekend.

July 31, 2014 12:39 PM
3Ddreamer

Hi,

Your article is very useful to me! Question: How do I detect what version of OpenGL is actually installed on my computer? I see some software for this, but I am leery of downloading any of them for concern about malware. If you could help me there, then I will be able to start learning OpenGL real soon ( :

March 04, 2016 10:19 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!

OpenGL 3.3+ Tutorials from the very basics to more advanced concepts. The minimum version of OpenGL used is 3.3, where all of the deprecated stuff has been removed, so the knowledge you learn is forward compatible

Advertisement

Other Tutorials by michalbb1

michalbb1 has not posted any other tutorials. Encourage them to write more!
Advertisement