Ten things to achieve when starting 3D programming(gamedev.net)
gamedev.net
Ten things to achieve when starting 3D programming
http://www.gamedev.net/topic/609071-ten-things-to-achieve-when-starting-3d-programming/
5 comments
Can you recommend any good resources for learning 3D-oriented maths? I took linear algebra back in college but definitely think I'll need some refreshers, as it's been a while.
If you can look past the retro vibe this is a nice overview:
http://programmedlessons.org/VectorLessons/index.html
Some interactive matrix maths lessons: http://www.intmath.com/matrices-determinants/matrix-determin...
Free textbook on linear Algebra: http://linear.ups.edu/
and for the intrepid soul actually implementing a viewport: http://zach.in.tu-clausthal.de/teaching/cg_literatur/lightho...
Good luck ;)
Some interactive matrix maths lessons: http://www.intmath.com/matrices-determinants/matrix-determin...
Free textbook on linear Algebra: http://linear.ups.edu/
and for the intrepid soul actually implementing a viewport: http://zach.in.tu-clausthal.de/teaching/cg_literatur/lightho...
Good luck ;)
Thank you!!
This book: Mathematics for 3D Game Programming and Computer Graphics, Third Edition (http://www.amazon.com/Mathematics-Programming-Computer-Graph...)
Is pretty good and complete. The first chapter is a review of vector and matrices and the rest of the book is pretty solid. It includes pretty much every math concept you will need to implement what he has on this list and more.
Is pretty good and complete. The first chapter is a review of vector and matrices and the rest of the book is pretty solid. It includes pretty much every math concept you will need to implement what he has on this list and more.
Rock on, thanks :)
I think that's a great list, and for the most part, how I'm going about it.
But I don't think these need to be done before you actually make your first 'game'. It's perfectly okay to use other peoples' methods for a while until you solidify what you think is wrong with them, and how you think you can improve them. At that point, it's probably time to code your own and find out all the little intricacies.
You will eventually want to know all this, though.
But I don't think these need to be done before you actually make your first 'game'. It's perfectly okay to use other peoples' methods for a while until you solidify what you think is wrong with them, and how you think you can improve them. At that point, it's probably time to code your own and find out all the little intricacies.
You will eventually want to know all this, though.
I had done all of this by the time I hit 10th grade. I hated my 10th grade geometry class because I preferred spending my time writing 3D games to applying the law of cosines and proving millenias-old theorems. I'm now confident that was the right choice.
One thing missing is a physics engine/collision response. Sounds hard but not really. Only implement the collision response after you have implemented collision detection.
This list has nothing to do with say, creating a 3D game like Minecraft.
There are other ways to go about it. This is a good example of one way to do it.
There are other ways to go about it. This is a good example of one way to do it.
I would probably put number 4 "Learn everything you can about vectors and matrices" right at the top though. That stuff really is the foundation of most of what you do in 3D programming.
Trying to implement a camera viewport without some significant investment in vector & matrix math is a recipe for disappointment & throbbing temples ;)