# Real time image based lighting for arbitrary BRDFs coordinate alignment

I was trying to understand how real-time illumination happens with image-based lighting.

I understood that importance of representing the Environment Map and BRDF in spherical harmonics. Because both of them orthonormal basis function so that the illumination integral becomes a matter of dot product of coefficients.

But before that,

Why is environment map in the global frame and BRDF in the local frame?

Edit 1: To help more this is the paper Fast, Arbitrary BRDF Shading

## 1 Answer

The surface reflectance of a BRDF function doesn't depend on orientation or position of the surface in the world space (except for the view vector) but is defined relatively to the surface normal (or tangent space in case of anisotropic BRDF) so it should be defined in local space. Think of it as a hemispherical 2D function fixed to a point on the surface of an object that moves and rotates with the object.

Environment map on the other hand defines luminance from given direction in the world space so it is defined in that space.

To perform the convolution of these two functions you then have to either transform BRDF to world space or environment map to local space.

It's common to transform surface normal/tangent space to the world space and perform lighting calculations in that space. However, if you plan to do define BRDF with spherical harmonics, you might want to consider hemispherical harmonics for better frequency response and transform lighting from world space to the local space. Overall with SH/HSH you can only reproduce fairly low-frequency lighting (i.e. rough surfaces), so they may not be able to render as versatile surfaces as you wish.