Getting Started Writing 3D Programs

mreman4k

Newcomer
I just finished my second semester of Java. Even though Im majoring in computer engineering, I'd think it be cool if I learned how to write some programs that render 3D graphics. I can learn C++ on the fly, where would I get started? :?:
 
Buy a good book (eg. an old classics like Foley "Computer Graphics: Principles and Practice") - this will give you some insights on how and why everyting is done in 3D world (even if the book is old, it's still very valuable).

Next, read carefully the docs at 3D card manufacturer's developer sites (http://developer.nvidia.com and http://www.ati.com/developer) - this will give some insights on how 3D cards work, what's good and what's bad for them; and how common "effects" are implemented.

Then grab, say, a DX9 SDK from Microsoft's site, get/learn C++ (or even C# or VB.NET) and, well, start :) Alternatively, you could use OpenGL of course.
 
A good new book (although it could have been release 5 years ago) is Tricks of the 3D Game Programming Gurus - Advanced 3D Graphics and Rasterization by Andre Lamothe. It covers just about everything you need to know, in 1750 pages.

It doesn't go into hardware rendering though. This is a good thing because it keeps your mind open, but for commercial products you have to do hardware rendering. But don't worry, once you've read this book, learning DirectX and OpenGL is a matter of hours and not months.
 
On the other hand, since you're majoring in computer engineering like I am, your math (linear algebra and geometry) knowledge is probably excellent. So you might want to just jump into DirectX or OpenGL.

For DirectX, download the SDK and study the documentation and example code. For OpenGL, which might be a little easier to start with, go to nehe.gamedev.net.

Good luck and enjoy!
 
Another introductory book I can recommend:
Alan Watt - 3D Computer Graphics

Or if you just want to fiddle around with cool shaders, ATI's RenderMonkey is quite nifty...
 
http://nehe.gamedev.net
The coding style isn't good IMO, but you'll learn basic OpenGL commands, note however that you're unlikely to use glVertex, glNormal, glColor in an engine due to the function calls overhead.
Still it'll teach you the basics.

http://www.flipcode.com
There are columns and tutorials, articles... You should find many interesting things in here.

http://www.gamasutra.com
Articles about many subjects from people inside the game industry.
Rather advanced.
 
Pete said:
What do ppl think of Real-Time Rendering 2/E (.com)?

Excellent but not a gentle introduction, its meant for those who already know a fair bit of CG and want a state of the art overview of the entire field.

Even given the speed the field moves at, its covers enough info to get a fairly upto date overview on 90% of field. But to do that it only quickly covers some very complex items. Your expected to look up the original paper on anything you really want to use.

I have both editions and highly recommand them for intermediate to advanced real time CG work.
 
Back
Top