views:

111

answers:

3

I'm planning on learning some game development using OpenGL (I'm on Mac OS X and Ubuntu machines most of the time, so DirectX obviously won't do.) and I'd like to know which book would be best for learning OpenGL, and what version I should learn.

I have good knowledge of various programming languages, including C/C++ and Objective-C, so that part shouldn't be a problem. I also know some linear algebra, but would like advice on which topics I should and shouldn't bother with learning in that field as far as OpenGL is concerned.

So, which books would you recommend?

+1  A: 

I think you should start with a Game Engine. Unity is a good one and has a free version. (I'm a Mac user myself and use it too)

If you want to learn openGL, the famous OpenGL Red Book is a good place to start.

pablosaraiva
Here is the redbook link: http://www.opengl.org/documentation/red_book/
pablosaraiva
I've read that the Red Book's OpenGL 3 edition isn't too good. Or are you saying I should learn OpenGL 2 instead?
Amit Ron
Here is the unity link: http://unity3d.com/
pablosaraiva
I really think you should start game development using an Engine. Then you'll have a base to start building your own 3D rendering software using OpenGL or other library. If you don't undestand some parts of the redbook, ask more specific questions here. Don't rush, it takes some time.
pablosaraiva
Still, though, I want to learn OpenGL itself, and not an engine. Should I learn version 2 or version 3?
Amit Ron
You should learn OpenGL 4.1. But the basic is the same.
pablosaraiva
I think this may be useful: http://glean.sourceforge.net/state.html
pablosaraiva
+1  A: 

Hi, if you are new to graphics too, I suggest first searching for pure graphical terms. I mean for example learn the concepts of lighting and it's physics, read about antialiasing, how 3d scenes are rendered, how the graphics card works, ... . If you do so you won't have a problem learning any graphics APIs, you just know the concept of it. That's what i did to learn graphics. Also you will find some books and resources i list here useful:

OpenGL Books:

--OpenGL redbook

--OpenGL bluebook

For OpenGL:

http://nehe.gamedev.net/

http://www.csse.monash.edu.au/~jonmc/CSE3313/Resources/SampleCode/index.html

http://www.opengl.org/resources/code/samples/redbook/

http://www.opengl.org/resources/code/samples/more_samples/

http://www.opengl.org/resources/code/samples/simple/

http://www.glprogramming.com/blue/

http://www.opengl.org/resources/libraries/glut/spec3/spec3.html

http://www.opengl.org/resources/libraries/glut/spec3/node1.html

http://www.opengl.org/sdk/docs/man/xhtml/

http://www.codesampler.com/oglsrc.htm

http://users.encs.concordia.ca/~grogono/Graphics/examples.html

http://math.ucsd.edu/~sbuss/MathCG/OpenGLsoft/

http://publib.boulder.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.opengl/doc/openglrf/openglrf.htm

http://www.cs.uiuc.edu/class/sp05/cs419/

http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/notes.html

http://jerome.jouvie.free.fr/OpenGl/Lessons.php

http://www.codecolony.de/opengl.htm


For Pure Graphics(MIT Slides):

http://groups.csail.mit.edu/graphics/classes/6.837/F01/notes.html

Green Code
Those slides from MIT seem promising for the math/algoritm parts, but I still want to know which version of OpenGL I should learn these days.
Amit Ron
Oh, note that if you are using windows, you will be using opengl 1.x but, in linux you can have the newest version. I don't know why windows did this to opengl. Consider that and find which version is better for you. My advice, learn the newest.
Green Code
Also should you use windows, there are other libraries which have the changes of opengl 1.x to the newest.
Green Code
A: 

Opengl Programming Guide: The Official Guide to Learning Opengl is a realy good reference , its also platform independant

Mona