views:

1770

answers:

9

What are the best guides / tutorials / books / websites for someone with minimal experience (or none) in the world of 3D graphics programming?

I realize that the fundamentals of 3D graphics and mathematics apply across platform specific 3D library implementations such as OpenGL, DirectX, WPF etc..

Therefore it would be useful if answers would explain if they focus on a specific library implementation, on the fundamentals, or maybe both.

Rationale for for asking this question:

With Windows Presentation Foundation (WPF) 3D on the scene, it's realistic for many programmers to now seriously consider using 3D for their applications, where this would have been almost impossible even a few years ago.

I'm sure there are many programmers out there, like me, who find the leap from 2D to 3D a very big one.

+4  A: 

I thought I'd start by providing this resource I found during my own research:

The Twelve days of WPF 3D by Eric Sink.

It is a series of articles focusing on WPF, from the beginner to intermediate level.

It focuses on getting practical things done with WPF 3D, rather then fundamental 3D math etc, but is great for answering some common questions most WPF 3D programmers eventually come across.

Ash
+8  A: 

Petzold's 3D Programming for Windows is an obvious start if you are doing WPF.

For Opengl the book is available free online , there are also tutorials at NeHe although OpenGL does require that you understand the details of transforms to really do more than cut and paste

Martin Beckett
+1 I actually own a copy. It is great for the detail, but it might be a bit advanced in certain areas for beginners.
Ash
The free OpenGL "redbook" is several revision behind the current edition. While many of the basics are the same, there are lots of bits in OpenGL 3.x worth learning.
basszero
But for a beginners guide - the details of shaders and VBOs are probably unecessary.
Martin Beckett
+3  A: 

One site I have been recommended previously is GameDev. It is full of articles and tutorials for 3D game development.

Simon Hartcher
Looks useful, thanks.
Ash
A: 

What do you want to learn to do? build a graphics / game engine? or USE a graphics or game engine? ..

Scott Evernden
This should really have been a comment. Interested in USING a graphics engine. We already have DirectX, OpenGL, WPF etc, no need to reinvent the wheel.
Ash
+1  A: 

I chose the easy route. I am using an available engine - www.3dgamestudio.com - so I can focus on the actual game. I feel that reinventing the wheel takes too much time.

+1  A: 

A good handle on the math behind things can be useful. This tutorial is a good place to start.

Scottie T
+5  A: 

I recommend that you implement a simple software based 3d rendering engine. Simple stuff like line, quads, lighting etc. You will learn a whole lot more about 3d programming in general, and it will give you a good prescriptive on 3d graphics and it's limitations.

This should get you started: http://www.devmaster.net/articles/software-rendering/part1.php

HyperCas
Brilliant...was looking for something just like this +1
jkp
A: 

Here is a good hands-on tutorial for getting started quickly with a little bit of mathematical theory included: http://www.kindohm.com/technical/wpf3dtutorial.htm

Mike Hodnick
+1  A: 

One book I'd definitely recommend is Computer Graphics by Foley and Van Dam.

ChrisF