The real "a-ha" demystifying moment for me was not so much learning about the elementary rotation, translation or even perspective projection operations. It was understanding how all of those operations can be composed together into a single transformation and that all that 3D graphics really is, is transforming coordinates from one relative space to another.
One important revelation in that regard for instance, was that moving a camera within a world is mathematically exactly the same as moving the world in the opposite direction relative to the camera. Once you get a feel for how transformations and coordinate spaces work, you can start playing around with them and a whole new world of possibilities opens up to you.
if you are a little bit familiar with graphics you go: duh, things appear smaller with increasing distance. if you are not tho, it's a great intro to perspective projection. I love how accessibly educative his videos are.
When I was a little kid trying to do 3D graphics on my Spectrum I couldn't find any books with the algorithm for how it worked. I remember my artistic friend and I sitting down with reams of graph paper trying to figure out how to do it. It's so simple and obvious after you learn, but until you do I felt like a caveman.
I've been watching a ton of Tsoding lately. I really like nob.h his build system and I've been using it in my projects. Why we ever used a different language to build C/C++ seems so insane. Using the same language for the build system is just far simpler
His application `boomer` is the best desktop zoom app for X11! Bound to a keyboard shortcut its very useful for debugging graphics layout errors during development.
10 comments
[ 3.0 ms ] story [ 26.4 ms ] threadI can't really say that this formula demystifies things, but the video is nice if you're eager to learn about this.
One important revelation in that regard for instance, was that moving a camera within a world is mathematically exactly the same as moving the world in the opposite direction relative to the camera. Once you get a feel for how transformations and coordinate spaces work, you can start playing around with them and a whole new world of possibilities opens up to you.
The Multiview Geometry Book begins with a great deep dive on the topic.
https://www.cambridge.org/us/universitypress/subjects/comput...
Casey Muratori's Handmade Hero series has several excellent explainers aimed at aspiring game developers, there's even a math playlist:
https://www.youtube.com/playlist?list=PLEMXAbCVnmY7lyKDlQbdb...
Learning that perspective happens via /z is nowhere near sufficiently demystifying IMO