How much 3D math do I really need to know?

Started by
3 comments, last by Etherstar 19 years, 6 months ago
I want to get started in 3D programming, so I've been working out of the book "3D Math Primer for graphics and game development." I can't help but to feel that I'm learning overkill in terms of math for what I would like to do right now (3D tiled turn based strategy game). I have pretty good experience using directdraw, and I kinda just want to get my hands dirty. Should I be more patient and read the entire book cover to cover, or is there a few key concepts I should know, and then finish the book in my spare time? Thanks.
Advertisement
Quote:be more patient and read the entire book cover to cover

Just wondering, have you made any games prior to this 3D one that you're starting. I've looked at the book, and the more math that you know, the easier it will be to understand what you're doing in 3-Dimensions.

Also, do you plan on writing your own Software Rasterizer, or will you just use something like D3D or OpenGL. Using someone else's API, you don't need to know as much math, but writing your own 3D engine will require quite a bit of math. To a certain point, the more you know, the better your engine will be.
For mostly everything related to game programming, all you need is linear algebra. That is, vector math, matrix math, equation systems, planes and other 3D primitives, along with intersection testing. This will suffice for a large number of things (using a 3D API, making a world editor, even making a raytracer).



They are actually pretty simple concepts too, things that you can learn entirely on your own. You might want to look into quaternions as well though, which are not linear algebra, from what I know. I don't know exactly what domain complex numbers are part of, but we learned about them in calculus 1. It still seems feasible to learn about quaternions on your own, since there are so many tutorials. Quaternions are pretty much required for proper skeletal animation of models. There are also other things you might want to learn on your own, such as the Euler angles, which can be a useful way of representing orientation (and are used in most current FPS games). Though you might simply want to use quaternions for that as well. It depends on the game you are making.



Most of the concepts you learn in Calculus 1 and 2 are *not* useful when programming a 3D game. They are mostly useful to build proofs or explore new concepts (in research). I just read that you want to make a 3D strategy game? For that, just linear algebra will most probably suffice.



Good luck and have fun learning!

Looking for a serious game project?
www.xgameproject.com
He's learning on his own, get him!

Any first year linear algebra book would give you the background you need. I have one I fall back on from time to time. I also have single and multi-variable calculus books that come in handy quite often. This is nothing advanced though, it's all first year university (or last year of high school depending on where you went). It's manageable if you are willing to put in the time. Many popular game programming books have chapters dealing with the applications as well.
Ahh good to know. Yeah, I'm an English Major in my last semester at my university. In hindsight I'm really wishing that I had taken Linear Algebra instead of Calculus 4 years ago as my math elective :-p. Well at least this gives me some direction. Thanks a bunch guys.

This topic is closed to new replies.

Advertisement