Transcript Radiosidad
Motivación: • El mundo antes de Radiosidad. • El mundo real. Radiosidad: • ¿Qué es Radiosidad? • Ventajas y Desventajas. • Algoritmo de Radiosidad. • Cálculo de la Radiosidad. Factor de Forma. • ¿Qué es? • Punto a punto. • Hemicubo. •Variantes del Algoritmo Principal •Radiosidad progresiva. •Radiosidad Instantánea Conclusiones La Iluminación clásica por ordenador resultaba ser: ● Poco fiel a la realidad. ● Sólo se tiene en cuenta la iluminación proveniente de las luces: componente directa. ● Se simula la iluminación difusa de forma simple: componente ambiental. ● La luz difusa forma parte de las luces, no de los objetos. ● La cantidad de iluminación recibida depende del ángulo que forma el objeto con las fuentes de luz. ● Sombras duras y poco realistas. ● Los objetos no interactúan entre sí. ● No permite simular efectos ópticos. Entonces se generaban imágenes poco realistas. En el mundo real: ● Las fuentes de iluminación emiten energía. Luz especular. ● Los objetos reflejan la luz y la distribuyen por la escena. Luz difusa. ● No existe la luz ambiental. ● Los objetos refractan la luz y producen efectos ópticos. Entonces la escena creada por computadora estaba muy alejada de la realida. Se generan modelos mas aproximados a la realidad a través del uso de radiosidad. L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA L (x',ω') es la radiación de un punto en una superficie en una dirección ω' L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA E (x',ω') es la radiación emitida desde un punto: es distinto de cero solo cuando x' es una fuente de luz. L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA Sumar la contribución de las demás superficies presentes en la escena. L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA Para cada x se calcula L(x,ω) es la radiación en el punto x en la dirección ω (desde x hacia x'). L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA Escala la contribución de la reflexión de la superficie en x' por un factor de ρx'(ω,ω') (capacidad de reflexión de luz de la superficie). L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA Para cada x, se calcula V(x,x'), esto es la visibilidad que existe entre x y x', esta es: 1 cuando no hay obstáculos entre las superficies y 0 en caso contrario. L(x',ω') = E(x',ω')+ ∫ρx'(ω,ω')L(x,ω)G(x,x')V(x,x') dA Para cada x, se calcula G(x,x'), lo cual describe la relación geométrica que existe entre las 2 superficies, x y x'. Factor de forma punto a punto : El factor de forma entre un punto de una superficie y otra superficie puede ser utilizado si se considera hipotéticamente que un sólo punto es representativo de todos los puntos sobre la otra superficie. Factor de forma por el algoritmo del Hemicubo: Consiste en construir un Hemicubo ( la mitad de un cubo) sobre el centro de cada parche. Las caras del Hemicubo son subdivididas en pequeños cubos (“pixel”). Cada parche es proyectado sobre las caras del hemicubo. Cada “pixel” que posee una proyección, forma en conjunto el factor de forma de la interacción con esa superficie. La Radiosidad Progresiva es una aplicación iterativa del algoritmo, de manera que con cada iteración se obtienen valores intermedios de la radiosidad para cada sub-polígono de la imagen. Estos valores corresponden al nivel de rebote, es decir, luego de la primera iteración, tenemos la imagen con 1 nivel de rebote de la luz, luego de la segunda iteración, tenemos la imagen con 2 niveles de rebote de la luz, y así sucesivamente. Con el paso de las iteraciones, se observa que la luz fluye por la escena, ya que se van calculando los rebotes de la luz dentro de la misma. Los subpolígonos se pueden ver como cuadros en las paredes y el piso de la imagen. Al momento de ejecución, un numero de fotones son elegidos de las fuentes de luz para ser emitidos en la escena, adicionalmente la reflectividad r de la escena es calculada. Inicialmente hay N fotones. Por cada fotón de la escena, la escena es renderizada, posicionando una fuente de luz en el origen del fotón. Seguidamente rN de estos fotones son emitidos en la escena por un método similar al de Montecarlo(Raytracing). Donde cada foton choca contra una superficie, siendo atenuado por la componente difusa de esa superficie. Luego la escena es renderizada nuevamente con la fuente de luz apropiadamente movida. Ventajas: •Puede usar hardware de OpenGL para decrementar el tiempo de renderizado. •La solución computacional puede ser mostrada directamente teniendo requerimientos bajos en memoria, ya que trabaja en el espacio dispuesto para la imagen en lugar de crear una matriz de elementos. •El algoritmo puede ser extendido para permitir superficies especulares. •La radianza que aportan las texturas pueden ser directamente calculables. Desventajas: •Depende de la vista. •El método no debe ser usado en predecibles resultados. •El producto generado depende de las capacidades del Hardware, por lo que el buffer de acumulación debe ser lo suficientemente profundo para permitir la composición con múltiples imágenes. •Permite crear imágenes fotorealísticas de gran calidad. •Alto costo computacional y de almacenamiento. •Requiere del preprocesamiento de poligonal del ambiente. •Sombras suaves y interreflección difusa. • Simula Acertadamente la transferencia de energia. •A mayor detalle en la radiosidad, mayor costo de almacenamiento y computo. •