I am a little confused about this, with special regard to ray tracing, and perspective projection.

I’m also confused about the projection transformation sequence

M = N S H …

I get H. But what exactly happens in the S stage, is this when the size of objects is changed due to their distance from the camera?

AFAIK, near/far planes are just clipping plane. Then, the view plane can be placed wherever you want. In the OpenGL case, looking at the glFrustum spec, the view plane is like the near plane.

For the second question, could you elaborate a bit more? What does N, S, H notation mean?

Ah ok. That what I thoguht, I thought the viewplane would just lie on the near plane.

M = N S H . = sequence of matrix multiplications for making perpsective projection. shearing (h) i get, it just ensures the frustrum is on the middle of the z axis.

But i dont really get the scaling stage, is there where the size of objects is adjusted according to their dist from the camera?