Projection matrix and NDC
Posted: November 14th, 2019, 6:29 am
Simple questions as I wrestle with the perspective projection matrix.
First, I am assuming that the "width" of the frustum in the equation is a subset of whatever coordinate "units" I choose to use. To clarify, let's say my world is --1000 to 1000 in the x axis, and that I've decided that my camera should see 100 of these units at the near plane, at z=0. Thus, my understanding is that 100 would be the 'w' in "x(2n/w)" .
Ok, so I haven't really investigated yet how camera space is implemented in a working engine , but my understanding is that mathematically, the camera stays still, and the world is moved around it. This brings me finally to my question.
Why wouldn't one just use units such that -1, to 1 are already the camera's visible coordinates? In my example with a -1000 to 1000 wide world, with a 100 wide viewport at z=0, I would instead have a -10 to 10 wide world, with a -1 to 1 viewport in camera space.
I feel I wrote this clumsily, but the gist is that the math to convert to NDC seems like it could be circumvented if you just used that kind of units to begin with. The only thing I see that wouldn't work is that your FOV couldn't easily be changed.
Am I missing something fundamental?
First, I am assuming that the "width" of the frustum in the equation is a subset of whatever coordinate "units" I choose to use. To clarify, let's say my world is --1000 to 1000 in the x axis, and that I've decided that my camera should see 100 of these units at the near plane, at z=0. Thus, my understanding is that 100 would be the 'w' in "x(2n/w)" .
Ok, so I haven't really investigated yet how camera space is implemented in a working engine , but my understanding is that mathematically, the camera stays still, and the world is moved around it. This brings me finally to my question.
Why wouldn't one just use units such that -1, to 1 are already the camera's visible coordinates? In my example with a -1000 to 1000 wide world, with a 100 wide viewport at z=0, I would instead have a -10 to 10 wide world, with a -1 to 1 viewport in camera space.
I feel I wrote this clumsily, but the gist is that the math to convert to NDC seems like it could be circumvented if you just used that kind of units to begin with. The only thing I see that wouldn't work is that your FOV couldn't easily be changed.
Am I missing something fundamental?