The Rendering Equation

2 minute read

Published:

(work in progress…)

The Rendering Equation

The rendering equation also referred as the Light Transport Equation, Transport Equation (Ray Tracing Gems, sec. 01), Monte Carlo Simulation, Metropolis Algorithm for Monte Carlo. The rendering equation is among the top 10 most influential algorithms in computer science DONGARRA and Sullivan, 2000. The physical basis for the rendering equation is the law of energy conservation. In language, that is, Light exiting the surface = Emitted light + ((BRDF) * reflected incoming light * Light attenuation). In other words, the existent radiance is the sum of emittance + (reflectance * incidence * light attenuation). The equilibrium radiance leaving a point is the sum of emitted plus reflected radiance under a geometric optics approximation. We cannot solve the rendering equation analytically. However, develop an algorithm that can approximate the equation is the base of the whole Global Illumination genre. One approach to solving the equation is based on finite element methods, leading to the radiosity algorithm. Another approach using Monte Carlo methods has led to many different algorithms including Path Tracing, photon mapping, and Metropolis light transport, and others.

The Notation of the rendering equation varies among different publications. Here are some of the popular notations:

L_0(x,\overrightarrow{ω}) = L_e(x,\overrightarrow{ω}) + \int_{Ω} L_i(x, \overrightarrow{ω}^{'}) f_r(\overrightarrow{ω}, x, \overrightarrow{ω}^{'}) cos\theta d \overrightarrow{ω}^{'})
L_0(x,ω_0) = L_e(x,ω_0) + \int_{Ω} L_i(x, ω_i) f_r(x, ω_i\rightarrow ω_0) (ω_i\cdot n) dω_i
L_0(x,ω_0) =L_e(x,ω_0) + \int_{Ω} L_i(x, ω_i) f_r(x, ω_i, ω_0)(ω_i\cdot n) dω_i
L_0(p,ω_0) = L_e(p,ω_0) + \int_{H^2} L_i(p, ω_i) f_r(p, ω_i \rightarrow ω_0) cos\theta dω_i
L_0(p,ω_0) = L_e(p,ω_0) + \int_{S^2} L_i(p, ω_i) f(p, ω_i, ω_0) |cos(\theta_i)| dω_i
L_0(ω_0) = L_e(ω_0) + \int_{Ω} L_i(ω_i) f(ω_i, ω_0) (ω_i\cdot n) dω_i
L_e(x,v) = E(x,v) + \int_{Ω} L_i(x,ω) f_r(x,ω\rightarrow v) (cos\theta_x) dω
L_o = L_e + \int_{Ω} L_i \cdot f \cdot cos\theta_x \cdot dω
L_0(P,ω_0) = L_e(P,ω_0) + \int_{S^2} L_i(P, ω_i) f(P, ω_0, ω_i) |cos\theta_i| dω_i

The generic explanation is as follows:

  • left hand side of the equation is the exiting radiance in point $x$ towards the outgoing $ω_0$ direction
  • first part of the right hand side, is the emitted radiance in point $x$ towards the outgoing direction $ω_0$
  • the integration part is the sum of the incoming radiance from all incoming $ω_i$ direction
  • first part of the integral, the incoming radiance from direction $ω_i$. This part can be extended for each of the recursive bounce (ray depth)
  • second part of the integral, is the BRDF
  • third part of the integral, is the Light Attenuation