I'm starting OpenGL. Any advice?

I’ve been deciding whether to use OpenGL or DirectX, and I’ve decided to pursue OpenGL because of its better simplicity over DirectX and its pure power. However, I do not know where to start. Can anyone recommend me any good starting books and sites? Also, what knowledge is necessary for OpenGL. For instance, will I have to know high-level math like calculus and will I have to use MFC? Right now I have mastered the fundamentals of the runtime C/C++ library, and have learned more advanced concepts like utilizing templates and object persistance. Also, will I have to have any special programs to run OpenGL programs? Thanx

A good site to look at is:
http://nehe.gamedev.net

There are excellent Tutorials. To start coding OpenGL-Programs you just need a compiler ;o). MSVC, and some freeware alternatives come with OpenGL-Libraries and are ready-to-use for OpenGL.

Hope that helps
CoBour

Thanks. I’ve gotten a list of books that seem to be advised for GL newbs like me. The three I got are “Computer Graphics Using Open GL”, “OpenGL Game Programming”, and “OpenGL Programming Guide”. They seem to be good for beginners, but I thought it was best to check with the GL-familiar guys who have experience in this stuff. I’m doing OpenGL so I can finally incorporate graphix into my games.

oh yeah, that online tutorial uses a lot of C. Is OpenGL C orientated or C++ orientated? I prefer C++ over C, so I was wondering if OpenGL uses both languages equally, or favors one over the other.

OpenGL is not limited to just one programming language. You can use C, C++, Delphi and others. I used it with C and C++ and did not encounter problems resulting from the choice of the programming language.

Regards
CoBour

I would suggest Game-Dev.net or .com (i’m not sure). It has a great e-book called “A 3d case study using OpenGL”

OpenGL is a C API. C gets on well with C++, however, so you can (and most of us do) program in C++. Other languages may have language bindings to the API as well. I know of Delphi, VB, Python, Perl(?), Fortran(?) and Ada bindings. Maths is useful, as it is for most programming. In particular, a good knowledge of 2D/3D geometry and linear algebra is very helpful. Don’t worry if you don’t have good maths skills - you’ll still be able to write OpenGL programs - but it is something you should consider learning. You don’t need MFC or Win32, you can use GLUT, Tk, wxWindows or any windowing toolkit that gives you an OpenGL rendering context. I’d suggest GLUT for learning.

Hope that helps.

Thanks, can you recommend any specific books to me? Also, this GLUT thing: is GLUT like a framework or software that makes programming in OpenGL easier? Can you describe what it does in detail?

GLUT is a very simple cross platform windowing toolkit that lets you create simple OpenGL applications. It also has various utility functions related to input and 3d graphics. I’d say a good beginners book is the OpenGL SuperBible, it’s a bit simple when you get more advanced but is good for beginners to 3d-graphics. The programming guide you menioned is probably more long lasting, but maybe a bit harder to start with.

Where can I get GLUT?

you can download it her at OpenGL. But you have to know how to set it up. What language are you using. How far have you gotten in OpemGl game programming? is it useful?

Well, err, I have virtually no OpenGL game programming experience (actually, none in OpenGL itself ). I’ve looked over the Nehe tutorial, but I didn’t do it (I’m not gonna do it until I’m fully informed of OpenGL and its capabilities along with its needs). I know C and C++, but I really prefer C++ over C. I program only in C when it becomes a necessity. I am also learning MFC.

I am also a newby in OpenGL but, since I’ve already read the mentioned book Computer Graphics Using OpenGL, I’ve decided to give you some advice: It is not a good begginer’s book. The 1st chapter is irrelevant, it is an intruduction to an intruduction to computer graphics. The second and third chapters are the “less bad” in the book. They teach you some basic stuff about opengl, even though some irrelevant and time-expensive stuff is thaught here (like the sieperinsky casket). 4th chapter : geometrical theory. It is not that important. A problem with this book is the lack of illustrative code and this chapter is a good proof. Also it teaches more about geometry than about computer graphics themselves. I’d skip chapter 9 ( fractals and stuff) .

Hello,
I’m still a newbie
and after few months of GLUT use, i have tried nehe basecode, i didn’t cause any problem (i think to code porting) because glut main loop = Draw() method from nehe
and the good thing is that the keyboard handler used by nehe basecode has provided a
more convincing movement to my scene( but it’s maybe because i have made a bad use of glut…)
Anyway, i have bought the famous red book, opengl superbible, and some things are causing me problems to understand, so i must mix the books,internet forums, irc effnet opengl chat ,search engines and time to be able to do what i want to do.

about the code i use nehe c++ project but most of time for testing new stuff, i write C code into, and thats really later that i write a class.

3D programming need some time…
Marsu

RangerOfTheDeep - Just start doing something. You sound hesitant to begin until you know enough. I’m a newbie too - here’s how I got started for about $45.00.

  • Download Borland’s free command line compiler (www.borland.com)
  • Download Glut
  • Buy OpenGL Superbible (a true beginners book)
  • Read Superbible and start doing the sample programs. The first ones are
    very simple, and the book walks you through the code and tells you what is happening. And they use Glut.

You’re not going to learn OpenGL until you start using it. If you decide later that this isn’t your bag, you still will have learned something. Have fun!

jg