I was talking to a colleague about view space vs. world space storage in a deferred renderer and he asked me whether I know about an objective discussion of the two approaches. I have only gathered small bits from different sources and some points have come up in this recent thread.
I have found examples for both approaches used in productive environments.
View space
World space
I haven't bothered to look for more examples, but I'm under the impression that view space is more popular. I find it interesting though that both UE4 and Cry Engine 3 chose world space.
Here are the infos I found most important, described from a "pro view space" point of view.
View space
+
- Slightly faster to reconstruct position from depth
- Better possibilities to compress normals
- Smaller values for position benefit from floating point precision
-
- View space normal not suitable for cubemap look-up, e.g. IBL/light probes of some sort
Seeing as all calculations are possible in world space I guess it boils down to deciding if the potential view space advantages outweigh the fact, that you have to fall back to world space normals in some cases.
Do you know some sources that discuss these questions? Can you think of more arguments for world space normals that seem to be favored by UE4/Cry Engine?