¿Síntesis?¿Realismo? Síntesis realista de imágenes Jornadas sobre Informática Gráfica UJI Roberto Vivó Sección de Informática Gráfica UPV Iluminación de escenas sintéticas Luz, objetos y observador ¿Qué es un modelo de iluminación? Modelos simples locales Trazado de rayos Radiosidad Modelos híbridos 2 Iluminación de escenas sintéticas 3 Esto es una escena iluminada Iluminación de escenas 4 Y esto es la misma escena sin iluminar Luz, objetos y observador Luz, objetos y observador La luz Los objetos Espectro electromagnético 10-12m Rayos γ 10-10m 10-7m Rayos x Ultravioleta 10-3m Infrarrojos Microondas Luz visible 380nm 740nm Potencia geometría Espectro radiante reflectancia textura λ 5 6 Luz, objetos y observador Luz, objetos y observador El observador vector UP Θw= Θh*razónAspecto v Vector LOOK Θw V Posición w 7 Todo junto: escena u Θh Distancia cerca y Angulo vertical z Distancia lejos 8 x N L Luz, objetos y observador Este es el proceso ... Luz emitida potencia Luz, objetos y observador Y este el resultado ... Luz percibida Modelo de color 0.0 300 400 500 600 700 λ 800 Función de eficacia V(λ) Luz representada Luz reflejada irradiación radiancia Modelo de iluminación 9 10 ¿Qué es un modelo de iluminación? ¿Qué es un modelo de iluminación? Es una función que nos devuelve la radiancia observada en un punto desde otro punto del espacio 3D. Radiancia o 11 12 e d e r t I = f (λ , x , pv , {O }, {F }) ¿Qué es un modelo de iluminación? Modelo completo: Función de distribución de emitancia direccional (DEDF) Función de distribución de la reflectancia bidireccional (BRDF) ¿Qué es un modelo de iluminación? Ecuación general de iluminación ∫ ∫ ω Ω Función de distribución de la transmitancia bidireccional (BTDF) Ω 13 14 Modelos simples locales Modelos simples locales Local: la irradiación proviene de las fuentes. Se simula el efecto de los objetos con iluminación ambiental. La geometría de las fuentes es muy simple. No se consideran refracciones. Iluminación ambiental IA = Ia ⋅K a N I = IA + ID + IS 15 ω L(λ, x, ω) = Le (λ, x, ω) + ρbd L(λ, x, ωi ) + ρbt L(λ, x, ωj ) 16 Modelos simples locales Modelos simples locales Tratamiento de la reflexión difusa: Ley de Lambert. ID = IL ⋅K θ d Tratamiento de la reflexión especular: modelo de Phong I S = I L ⋅ K S ⋅ cos ⋅ cos (θ ) N θ N L L N θ θ R=V L 17 18 Modelos simples locales Trazado de rayos 19 Otras posibilidades Atenuación atmosférica Atenuación por distancia al foco Luces con distribución no uniforme Transparencias no refractivas Bloqueo de fuentes por oclusión Mapas de reflexión α V ESPEJO θ R Ejemplo 20 n (α ) Trazado de rayos Trazado de rayos Modelo de iluminación global que tiene en cuenta las reflexiones entre objetos. Se sigue la trayectoria de un rayo de luz en sentido inverso. Adecuado para simular la interreflexión especular. La irradiación proviene de las fuentes y de las direcciones de reflexión y transmisión. Dependiente del observador. El resto de direcciones se simula con iluminación ambiente. 21 22 Trazado de rayos Trazado de rayos Ejemplo Construcción del árbol de rayos x RP RP L2 x’ x’’ T2 I(RP)=I(L1)+I(R1)+I(T1) 24 T1 R1 R2 R2 T1 23 L1 L1 R1 L2 T2 Trazado de rayos Trazado de rayos Modelo de iluminación ( Whitted) Algoritmo C o l o r ( O b j e t o o , R a y o r, P u n t o p , N o r m a l N , Profundidad d) c o l o r: = c o l o r a m b i e n t a l para cada luz I = Iaka + ∑ S I [k i i d cos( θ ) + k s cos i = 1 .. m n ] L: = r a y o d e s d e p a la l u z para cada pixel (α ) + k s I r + k t I t si ( L ·N ) > 0 y n o h a y o b s t r u c c i ó n c o l o r : = T r a z a r ( r a y o P r i m a r i o , 1) P o n e r _ p i x e l( p i x e l , c o l o r) fin color:= color + intensidad debida a esa luz si d < m á x i m a si o e s r e f l e x i v o R:= rayo de reflexión c o l o r _ R: = T r a z a r ( R , d + 1 ) Término ambiental color:= color + color_R * Ks( o) Rayo reflejado si o e s t r a n s m i s i v o T r a z a r ( R a y o r , P r o f u n d i d a d d) d e v u e l v e u n C o l o r Iluminación local Rayo de sombra color_T:= Trazar( T,d+1) calcular la n o r m a l d e v o l v e r C o l o r ( o b j e t o , r, i n t e r s e c c i ó n , n o r m a l, d ) devolver color del fondo fin 25 26 Trazado de rayos Trazado de rayos 27 Problemas y soluciones Número de intersecciones a calcular – Técnicas de aceleración Aliasing - Sobremuestreo Interreflexión difusa – Separación del cálculo de la reflexión difusa y la especular si no hay reflexión interna total si existe Rayo transmitido sino T:= rayo de refracción determinar intersección con objeto más cercano 28 Algunos ejemplos c o l o r: = c o l o r + c o l o r _ T * K t ( o) devolver color fin Radiosidad Radiosidad Modelo de iluminación global que tiene en cuenta las interreflexiones entre objetos. Adecuado para simular la interreflexión difusa. Independiente del observador. 29 30 Radiosidad Radiosidad Energía que abandona una superficie por unidad de tiempo y área. Principales simplificaciones Las superficies son difusores perfectos. Haciendo algunas suposiciones, se puede llegar a establecer un equilibrio en la escena. Las superficies se dividen en retazos de radiosidad constante. Conocida la radiosidad de cada superficie es fácil transformarla en información de color. La escena es un entorno cerrado. 31 32 Radiosidad Balance Φ Radiosidad Φ: Energía emitida por A (por unidad de tiempo) B= Φ/A : Energía emitida por unidad de superficie. Φ/Α Reflejada RADIOSIDAD Energía recibida: porción de la energía emitida por otras superficies que llega a A i. Se denomina IRRADIACIÓN. Aj Φj A Β=Φ/Α La energía emitida se compone de emisión propia y reflexión E: Emisividad propia B’: Energía reflejada ρ F j i Bj Aj / A i = B i ’ factor de forma BALANCE DE ENERGÍA B=E+B’ F j i Aj = F i j Ai 33 34 Radiosidad Radiosidad Ecuación de radiosidad en un retazo Formulación matricial n B i = E i + ρi ∑ E1 1−ρ1F11 −ρ1F12 L M L = M L L EN −ρN FN1 L F ij B j j =1 Jacobi Gauss- Seidel Southwell 35 factor de reflexión difusa Ai A Φj F j iΦ j/ A i 36 L −ρ1F1N B1 L L M L L M L 1−ρN FNN BN Radiosidad Cálculo de los factores de forma Resumiendo el proceso .... Ejemplo del hemicubo Geometría Condiciones de visualización Reflectancias Cálculo del Factor de Forma Mij Solución del sistema NxN Bi Visualización (Rendering) Independiente del observador 37 38 Radiosidad Radiosidad Y el algoritmo .... 1. Inicializar para todos radiosidad =0 carga emisora=E Mallado – Subestructuración Factor de forma – Multitud de métodos 2. Elegir el retazo más cargado (i) y propagar a los otros la energía radiosidad[i]=radiosidad[i]+carga[i] carga[i]=0 para cada j, calcular F ji carga[ j]=carga[ j]+ ρ j F ji carga[i] Brillos – Separación especular y difusa 3. Visualizar cada retazo con radiosidad +carga 4. Repetir el proceso hasta no apreciar diferencia 39 Problemas y soluciones 40 Imagen Radiosidad Métodos híbridos Métodos híbridos La solución Cálculo de brillos por trazado de rayos (dependiente del observador) y de la iluminación difusa por radiosidad (independiente del observador) Es posible mezclar ambos procesos 41 42 43 44 Conclusiones Interactividad: Métodos locales y trucos Superficies pulidas: Trazado de rayos Superficies mates: Radiosidad Realismo: Combinación de técnicas gracias 45 46