I'd also say that a good linear algebra book would be helpful... if you don't know how to multiply matrices, vectors, cos/sin, etc., definitely brush up on that stuff before diving into 3D.
Mason McCuskey
Spin Studios
www.spin-studios.com
I'd also say that a good linear algebra book would be helpful... if you don't know how to multiply matrices, vectors, cos/sin, etc., definitely brush up on that stuff before diving into 3D.
Mason McCuskey
Spin Studios
www.spin-studios.com
If on the other hand you want to learn to write your own 3D engine, and know everything about 3D programming, you will have to go back to some fairly old books. Since D3D and OpenGL, no one writes books describing how to do 3D graphics anymore, but if you want to know I would recommend reading "How to Build a 3D game engine in C++" by Brian Hook. It goes through the maths in a straight-forward way. Just be warned, it's all in C++, and it won't compile on a modern compiler like Visual C++ without a bit of work. But for learning the basics of 3D, it's the best place to start. Don't start with a 1200 page monster book like Computer Graphics, it could kill your interest in 3D programming once and for all. You may want to buy it eventually but it's got too much in it thats got nothing to do with making a 3D engine, and the way it's presented and written will put you off.
Also when it comes to choosing an API, make sure you contact someone who has used both D3D and OpenGL, because I know nothing about OpenGL, and so couldn't recommend one over the other. All I would say is that D3D will probably survive longer, but then again id software use OpenGL, so it must have it's strengths.
And feel free to E-mail people on this board for more detailed info, or if you get stuck, most of them won't mind.
Oh, and CGPNP is THE BIBLE don't speak ill of it - Infact, you should kneel and bow your head when mentioning its name (I'm having a really hard time typing this, on my knees, face down ). That said, it's the book you turn to for backgrounders on the really heavy stuff...
/Niels
------------------
http://mazurek.dhs.org/3d/
[This message has been edited by simon_brown75 (edited September 29, 1999).]
I would also suggest reading the documentation of DirectX 6 on Immediate Mode. It's great reading though. It's structured, and you also learn some basics, what matrices are, what a vertex is, how to rotate points.
First is that you learn the bascis, you can even use with OpenGL or every other API. Then it goes deaper and deaper into Direct3D. Combining this reading with the source-code is great learing stuff.
And, search the internet. There are sooooo many good articles on Engine design and Math-Basics.
Phillip