By: Nathan
This is a really good explanation. I particularly like how you relate the depth buffer to looking at an object in a foggy room – those sorts of explanations are really useful. Thanks!
View ArticleBy: Bobby Bobson
Thanks for this! Btw, “fovx = aspect × fovy” is incorrect. The relation is actually: fovx = atan(aspect x tan fovy)
View ArticleBy: Matt Giuca
In reply to Bobby Bobson. Oh yeah… you’re right my calculation is incorrect. Yours is also slightly wrong, because fovx and fovy are the angles of the whole screen width/height, and you are calculating...
View ArticleBy: aaa
Nice article and all, but it still doesn’t tell me how to go from world coordinates to viewport coordinates.
View ArticleBy: Matt Giuca
In reply to aaa. This article is a deep-dive on the Projection matrix, which transforms Eye coordinates to Viewport. I didn’t have space to cover the whole pipeline. To go from World to Eye, you need a...
View ArticleBy: Joe Best-Rotheray
In reply to Matt Giuca. But then you have m11 as f/aspect Which is the same as (1/tan(fovy/2))/aspect Surely it should be 1/tan(fovx/2)?
View ArticleBy: Combining ray tracing and polygons – Automated Art
[…] (If you want to understand the form of this matrix, try this link) […]
View ArticleBy: compsciguy
Not sure when I last commented on a WordPress blog, but, I really have to say thank you for writing this. I’m new to graphics/game programming and when I learn something new, I prefer to understand...
View ArticleBy: Matt Giuca
In reply to compsciguy. Thanks for the nice comment! I also like to learn things from first principles, so it always annoys me when a mathematical formula is presented as a black box.
View Article
More Pages to Explore .....