Ecuación de renderizado

De Codepixel

La base del raytracing y la simulación es la ecuación de renderizado.


L_o(x, \overrightarrow{\omega}, \lambda, t) = L_e(x, \overrightarrow{\omega}, \lambda, t) + \int_\Omega f_r( x, \overrightarrow{\omega}', \overrightarrow{\omega}, \lambda, t) L_i( x, \overrightarrow{\omega}', \lambda, t) (-\overrightarrow{\omega}' \cdot \overrightarrow{n}) d \overrightarrow{\omega}'

donde

  • \lambda\,\! es una longitud de onda concreta
  • t\,\! es el tiempo
  • L_o(\mathbf x, \omega, \lambda, t) es la radiancia de longitud de onda \lambda\,\! dirigido hacia ω en el tiempo t\,\!, desde una posición \mathbf x\,\!
  • L_e(x, \overrightarrow{\omega}, \lambda, t) es la radiancia emitida
  • \int_\Omega \cdots d\omega' es la integral sobre el hemisferio de todas las direcciones entrantes
  • f_r( x, \overrightarrow{\omega}', \overrightarrow{\omega}, \lambda, t) es el BRDF, la proporción de radiancia reflejada desde ω' a ω en la posición \mathbf x\,\!, en el tiempo t\,\!, y longitud de onda \lambda\,\!
  • L_i(\mathbf x, \omega', \lambda, t) es radiancia de longitud de onda \lambda\,\! llegando hacia \mathbf x\,\! desde la dirección ω' en el tiempo t\,\!
  • -\omega' \cdot \mathbf n es la atenuación por el ángulo de incidencia.


Si en vez de recorrer el hemisferio de un punto, recorremos las superficies de la escena, la ecuación sería:


L_o(x, \omega, \lambda, t) = L_e(x, \overrightarrow{\omega}, \lambda, t) + \int_S f_r( x, x' \xrightarrow {} x , \overrightarrow{\omega} , \lambda, t) L_i ( x \xrightarrow {} x' ) V(x,x') G (x,x') dA'

donde


  • G(x,x')= \frac { ( \overrightarrow{\omega} \cdot \overrightarrow{n}') ( \overrightarrow{\omega}' \cdot \overrightarrow{n} ) }{ \begin{Vmatrix}
 x - x' \end{Vmatrix} } , conocido como factor geométrico.
  • \,\!V(x,x') : función de visibilidad, que vale 1 si los puntos son visibles, y 0 en caso contrario

Esta formulación es la base del algoritmo de radiosity, y nos sirve para calcular la luz directa (podemos recorrer sólo las zonas que emiten luz)

[editar] Links

Herramientas personales