back

by tobr·10y ago·view on hn ↗
The apparent size of an object changing with distance is not just some random thing that you can change... it's a consequence of geometry. The eye or camera is a point, but the projection plane is a plane, so a ray from the camera through two adjacent points on the plane will keep diverging on the other side of the projection plane, and hit objects that are further and further apart. Another way to think of it is that there's just more stuff far away than close, so all that far away stuff has to look smaller to fit.

If you want to change that, you can't have a camera that is a point. That's how parallel projection works; the camera is basically a plane of the same size as the picture plane, so the rays never diverge. What you're suggesting is basically that the camera would be larger than the projection plane. That would cause the rays to converge in a single point some distance away from the camera. You might then just as well think of that point as the camera, and do what pnp wrote, just reverse the z buffer.