4 ms·
IMO you should step back and ask: what is your end goal? 1) To make games (commercial games) or other realtime graphics application? 2) To make 3D rendering s
by gavanwoolery 9y ago
IMO you should step back and ask: what is your end goal?
1) To make games (commercial games) or other realtime graphics application?
2) To make 3D rendering software or other semi-non-realtime software?
3) To have fun / learn?
4) Etc.
If you just want to learn/have fun, my personal recommendation is to write your own software, from the ground up. Ignore DirectX and OpenGL (unless you need them for a context to get pixels on the screen).
Use a fast, native language like C/C++.
Teaching yourself and exploring is 100x more fun than reading a book, IMO (at the same time, you may learn faster using a book).
Try working with a naive projection algorithm to get 3d points on the screen. Like y' = y +/- z (Zelda-esque bird's eye view). When you are comfortable with matrices and vectors, learn "real" projection algorithms.