views:

397

answers:

6

I'm trying to move my game development into the third dimension, but I'm having a bit of troubles understanding what I actually have to do. I've created a 2D MMORPG before using C and SDL, which wasn't too hard. But I can't seem to find any useful resources explaining how 3D programming actually works. I have a basic understanding of the vector math involved, but I just can't seem to find any clear, in-depth explanation of how everything else like lighting and shaders work. I've found plenty of code samples and such, but all of them just throw in a comment like "//Apply the lighting", which doesn't really tell me anything about what it's actually doing and why.

I'm not looking for an API-Specific tutorial; it's easy enough to learn a new API--I'm just not sure what to actually do with it.

+1  A: 

If you are interested in programming for the XBOX 360 in C# you can look at the XNA Framework. This website has tons of tutorials on XNA and I highly recommend trying it out. Just navigate to the sidebar (on the right) and click on the 3D section.

Cris McLaughlin
+4  A: 

I'd suggest you check out the NeHe OpenGL tutorials, starting with the simplest ones, and learn a little bit of OpenGL. A good OpenGL reference (such as the Red Book, though that's maybe a bit advanced to start with) will also be a big help.

Naaff
Oops just saw your post, +1 for Red Book (a.k.a. The OpenGL Programming Guide, Fifth Edition)
srand
Oh, oops. I just saw your post too. The red book was what I learned 3D from - it does a pretty good job starting you off from scratch.
Andrei Krotkov
+6  A: 

If you are looking for a book, I highly recommend Real-Time Rendering. I have the second edition of the book and found it be a great asset when working with 3D graphics. The book explains the innerworkings of the building blocks of 3D programming, like transforms, lighting and textures. It also explores a variety of advanced topics, including shaders, collision detection, acceleration and optimization.

The book is very light on code. It explains algorithms in depth but does not contain real code snippets. So it is very good if you want to learn how things work instead of just knowing which function to call.

Ayman Hourieh
+3  A: 
Nils Pipenbrinck
+2  A: 

The standard text back "in the day" was Foley and Van Dam, some subjects covered there are a bit long in the tooth but the fundamental mathematics behind 3-D transformations and projections hasn't changed.

Alan Watt's text is also good, but isn't really an introductory book.

You might also take a look at David Eberly's web site, he has written several books on the subject and there is a wealth of related information to be found there as well. Expect plenty of math.

Lance Richardson
+1  A: 

The Red Book - it's pretty much the one source that teaches everything (beginner-intermediate) that you need to know about OpenGL. Those concepts can be moved to any other 3D library pretty easily. And this has a free online version, too!

Andrei Krotkov