I know C/C++, now what?

I am really interested in learning openGL. I am content on using it to create games. I currently use MSVC++6.0 for my compiler, and have a good knowledge of C/C++. Questions:

  1. Is GLUT worth the time learning if I do not care too much for learning windows programming?

  2. Game-wise, what can and cant you do? (For example, are there simple functions like ‘line(3,54);’ ?)

  3. If I am serious about game programming, should I go for openGL over DirectX? (and why, if possible).

  4. If openGL is right for me, what books would you recommend and why?

Thank you all so much. This really means alot to me. Without the help of perfect strangers, I would not be where I am today. So thanks again.

I really just want to upgrade from using the only graphics I have ever used which was BGI from Borlandc++3.1… So please, bare with me and be elaborate. Thanks!

PS… Yes, I know about nehe.gamedev.net


1: If you don’t want to learn Windows programming, I strongly suggest you go for GLUT. It’s very easy, and very powerful.

2: What can and can’t be done is not so easy to say. But as a beginner you can do “a whole lot of stuff”.

3: Please do not compare OpenGL with DirectX. OpenGL is a graphics API, while DirectX is a whole multimedia suit. DirectX contains components for network, input, sound, graphics, and literally everything involved with games. OpenGL vs Direct3D has been discussed lots of times before, and is a very quick way of starting a flame war. It’s like discussing which religion is the best, and different religious oppinions is usually the source of most wars going on on our planet. Enough said.

4: OpenGL programming guide, the official guide to learning OpenGL, aka the Red Book cause of it’s red cover, is, in my oppinion, the best book. It’s a complete guide over the OpenGL API. That book is just for learning the API, if you want to learn game programming with OpenGL, you should look for another book aswell. Don’t know about any good game programming book, but whatever book you buy, the Red Book is a must

And if you know about NeHe’s site, I’m surprised you aren’t convinced yet. Use OpenGL!

p.s. You can of course use OpenGL for rendering, and DirectX for sound and input. That is a good combination.

p.p.s A search for “opengl vs directx” (or the other way around) will answer question #2.

  1. Bob said everything on this question. One GLUT call can replace 50 lines of windows code.

  2. Everything that can be done with your hardware. Remember that Quake3 uses OpenGL. And to answer you question, yes, it is also possible to perform traditionnal 2D drawing.

  3. Nothing to add.

  4. The SuperBible is great. There is also : OpenGL game programming.

I know BGI. So you want to make 2D graphics. Yes, that’s very possible with OpenGL : just use a glOrtho projection.

Hope that helps


I think you should try OpenGl for Windows, because no one uses GLUT if he wants to publish his game one day. or have you ever seen a PC computer game with an error message after install like this:
“Glut.dll not found” ??

I am not a “microsoft lover”, i just think it is good to know some pieces of the Win32 API.

You said you know NEHE? Nehe uses the Win32 API. so why do you ask for GLUT?
NEHE’s tut’s are very easy to understand.
and he uses the API just for creating/destroying the app window and for message handling.

so…happy coding!
regards, Christoph

Black and White uses GLUT. They simply provide a glut dll with the game. It’s true that some knowledge of windows never hurts, but I think it’s only necessary when you begin using really advanced features, like multithreading or a complicated user interface.


Oh yes, I’ve forgotten explaining why the SuperBible was so great. That’s because it explains you in the most easy way how to create application with GLUT (it seems to be difficult to find a book without GLUT) and it’s good for you because it begins with glOrtho projections, which are what you need to make 2D graphics. It has also a full treatment of most usual topics, and it treats a good number of advanced topics, too. The main drawbacks are : nothing about loading 3D models from disk, nothing about environmental mapping, bump mapping…

Hope that helps.