The Rendering Equation
This week completes 1 year since the first time I saw the rendering equation that is, arguably, one of the most important equations in computer graphics.
Every physically based rendering system try to solve this equation to render the scene, generating a very realistic image. Breaking it in parts, we have:
$ L_0(\pmb{x}, \hat{\omega_0}) $ is the light $ L_0 $ coming from the point $ \pmb{x} $ to the direction $ \hat{\omega_0} $
The first element $ L_e(\pmb{x}, \hat{\omega_0}) $ is the emmited light $ L_e $ coming from the point $ \pmb{x} $ to the direction $ \hat{\omega_0} $. This is useful in the case of existing a light source in the analyzed location emmiting light to the view point.
The second element
is the surface integral over all the directions $ \hat{\omega_i} $ of the unit sphere $ \Omega $ with center in $ \pmb{x} $. So, for every direction $ \hat{\omega_i} $, this integral is calculating:
Where $ L_i(\pmb{x}, \hat{\omega_i}) $ is the amount of light arriving at $ \pmb{x} $ from $ \hat{\omega_i} $ direction.
The $ f_r(\pmb{x}, \hat{\omega_i}, \hat{\omega_0}) $ is the Bidirectional Reflectance Distribution Function or BRDF. The BRDF is a per material function that says, basically, how much light is reflected from $ \hat{\omega_i} $ to $ \hat{\omega_0} $.
And finally, the $ \mid \hat{\omega_i}\cdot\hat{n} \mid $ is a geometric term, called Lambert term, where $ \hat{n} $ is the surface normal at the point $ \pmb{x} $. This term serves to magnify the amount of light reaching from $ \omega_i $ to $ \pmb{x} $ based on the angle between both $ \omega_i $ and $ \hat{n} $ directions.
Of course, the implementation of a physically based renderer can’t actually solve this equation. Instead, it approximates the equation using a method like Ray Tracing or Path Tracing to converge the final image into a realistic result.