Game Engine Programming 047.2 - Mathematics of view and projection matrices | C++ Game Engine

Game Engine Programming 047.2 - Mathematics of view and projection matrices | C++ Game Engine

Previously we added a camera class that will be used by our Direct3d low-level renderer, and we wrote its implementation, except for the update function. We also added an API-independent camera class that's going to be used by the rest of the engine, as well as the game code. Today, we're going to write the functions that translate the data between these 2 classes. However, most of this video's run-time is taken by me explaining some mathematics behind projecting a 3d scene onto the screen. 🟥(Red Episode) ✅ Support Game Engine Series   / gameengineseries   ✅ Buy me a silly putty https://www.paypal.com/paypalme/arash... ✅ Discord   / discord   🐱 Mr. Frummel & Louis' unreal adventures   / mr.frummel   💜 Big thanks to Tribal Elders: Omar Rayyan 💚 Big thanks to Chief patrons: Simon, Eero Laine 🧡 Big thanks to Shaman patrons: Zachary Shrout, mg, Shaun Mitchell, Neil Wang, Michael McMahon, Eearslya Sleiarion, Jan Ohlmann, deathcat00, Talis Lincoln 00:00 - intro 01:10 - creating and removing d3d12_camera instances 02:49 - setting and getting camera parameters 12:43 - overview of transformations 15:21 - world to view transformation 16:10 - dot product, cross product and matrix multiplication 17:43 - view transformation 20:50 - orthographic projection 22:33 - perspective projection 30:06 - writing camera update function Further reading: View matrix: https://www.geertarien.com/blog/2017/... Perspective matrix: https://www.scratchapixel.com/lessons... Matrix inversion: https://www.mathsisfun.com/algebra/ma... Game engine math: https://www.amazon.com/Foundations-Ga... Camera related math: https://www.amazon.com/Foundations-Ga... keywords: graphics, renderer, camera, view, projection, perspective, orthographic by Arash Khatami ------------------------------------------------------------- #PrimalEngine #GameEngineSeries #GameEngineProgramming #TheGameEngineProgrammingSeries