I’ve made small investigation in lighting shader and discover that all direction vectors are translated to view space prior to calculations. As far as I know a view transformation doesn’t preserve angles. But I don’t know how much does it impact on final image. As well as I don’t know how much will cost floating erros for world-space calculations.

What conditions is each method preferable at?

The view transform is a regular transform so it does preserve angles. The projection transform is the one with the issues.

1 Like

My bad. I assumed that all projection matrix do is projection to plane itself and all other transformation is done by view matrix. In fact as you pointed opengl projection matrix is seem to do frustrum transformation as well as projection. And view matrix do only regular transformations.