

Ten things to achieve when starting 3D programming - davedx
http://www.gamedev.net/topic/609071-ten-things-to-achieve-when-starting-3d-programming/

======
5hoom
This is a great list.

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 ;)

~~~
kingatomic
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.

~~~
5hoom
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...](http://www.intmath.com/matrices-
determinants/matrix-determinant-intro.php)

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...](http://zach.in.tu-
clausthal.de/teaching/cg_literatur/lighthouse3d_view_frustum_culling/index.html)

Good luck ;)

~~~
kingatomic
Thank you!!

------
wccrawford
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.

------
revolvingcur
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.

------
felipemnoa
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.

------
Freakoi
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.

