48
Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Embed Size (px)

Citation preview

Page 1: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Real Time Global Illumination for Dynamic scenes

Alejandro Drago 06-39485Cesar Villasana 06-40459

Page 2: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Iluminación Global (GI)

• Conjunto de Técnicas o algoritmos de iluminación y sombreado.

• En escenas estáticas = menos aspectos a considerar.

• En escenas Dinámicas = se complica un poco la cuestión.

Page 3: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

• Tipos de iluminación: -Iluminación directa-Iluminación indirecta

• Películas como SHREK, Toy Story, etc. usan técnicas para simular GI.

Page 4: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

El objetivo principal

Usar técnicas que permitan el eficiente dinamismo de los objetos en las escenas.

Page 5: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Las 3 vertientes:

• Técnicas de espacio de pantalla (Screen Space Techniques)

• Luces de puntos virtuales (Virtual point Lights)• Elementos finitos jerarquicos (Hierarchical

Finite Elements)

Page 6: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Técnicas de espacio de pantalla (Screen Space Techniques)

• Oclusión Ambiental (Ambient Occlusion)

Oclusión: “Acción y resultado de cerrar u obstruir algo” – WorldReference.com

Page 7: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Oclusión Ambiental (Ambient Occlusion)

Oclusión Ambiental vs Sombreado de Phong

Page 8: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Oclusión Ambiental (Ambient Occlusion)

Esquema

Page 9: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

• Formula• La oclusión en el punto de la superficie

con normal puede ser calculado con la integracion de la funcion de visibilidad sobre el hemisferio Ω con respecto al angulo de proyeccion:

• Donde:• es la funcion de visibilidad para el punto ,

definida como cero si esta ocluida en la direccion y uno en otro caso, y es el paso del angulo infinitesimal de la integracion de la variable .

Oclusión Ambiental (Ambient Occlusion)

Page 10: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

No son resultados finales

Oclusión Ambiental (Ambient Occlusion)

Page 11: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion

Uso de deph Buffer Pixel por pixel

Page 12: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Esquema: Es implementado como un pixel shader. valores de profundidad alrededor del pixel -> cantidad de oclusión Implementación simple -> solo profundidad

Screen Space Ambient occlusion

Page 13: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Ventajas:•Independiente de la complejidad de la escena•No se necesita data pre-procesada•Funciona de la misma forma consistente para cada pixel•Sin uso del CPU – puede ser totalmente realizado por el GPU•Se puede fácilmente agregar a cualquier pipeline grafico

Screen Space Ambient occlusion

Page 14: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Desventaja:•Difícil de suavizar el ruido sin interferir con la discontinuidad de profundidades. Como los bordes de los objetos.

Screen Space Ambient occlusion

Page 15: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion - Usando el metodo de Crytek

• Bajos costos

• Buenos resultados

Page 16: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion - Usando el metodo de Crytek

Crysis – Juego con el que se uso por primera vez esta técnica

Page 17: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion - Usando el metodo de Crytek

Crysis – Juego con el que se uso por primera vez esta técnica

Page 18: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion - Usando el metodo de Crytek

Crysis – Juego con el que se uso por primera vez esta técnica

Page 19: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Ambient occlusion - Usando el metodo de Crytek

En qué consiste? Ubicar puntos más hacia el centro -> mejor resultado Aproximadamente 16 sample points-> bajos costos

Page 20: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Directional oclussion

• Problema:

Page 21: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Directional oclussion

• Ejemplo:

Page 22: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Directional oclussion

• Solución:

Page 23: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Screen Space Directional oclussion

• Esquema:

Page 24: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Orientada y Coloreada por solo un poco de tiempo extra de renderizado (2%-9%)

Screen Space Directional oclussion

Page 25: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

• Desventajas:

Screen Space Directional oclussion

Page 26: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Iluminación Indirecta (Indirect Illumination)

Page 27: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Iluminación Indirecta (Indirect Illumination)

Overhead: ~30%

Page 28: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Escena compleja

Page 29: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Virtual point Techniques

• Instant Radiosity • Incremental Instant Radiosity• Imperfect Shadows

Page 30: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

Page 31: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

Page 32: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

Page 33: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

Page 34: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

Page 35: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Instant Radiosity

GeForce 6800gt: 250 luces secundariasSin sombras: 60-100 FPSCon sombras: ~17 FPS

Page 36: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Incremental Instant Radiosity

Page 37: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Imperfect Shadows

• Consiste en disminuir la cantidad de puntos de las sombras

• Disminuir calidad de las sombras

Page 38: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Imperfect Shadows

• Bajar la calidad de imagen = disminuir costos de renderizado

¿Alguna diferencia?

Page 39: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Imperfect Shadows

• Dos pasos escenciales para lograr el sombreado imperfecto:

Page 40: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Imperfect Shadows

• Algunos ejemplos:

Page 41: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Elementos finitos jerarquicosDynamic AO using surface elements:

Consiste en tomar los elementos visibles como un conjunto de discos.

¼ del tamaño de cuadros adyacentes

Page 42: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

• Cada Disco puede:Reflejar luzCrear sombraEmitir luz

Cara de frente vs Cara de atrás

Dynamic AO using surface elements:

Page 43: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

• Para la técnica:

Se reflejan los niveles de luz de manera indirecta.

Se reflejan sombras a los discos de cuyas caras se encuentren atrás.

Dynamic AO using surface elements:

Page 44: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Dynamic AO using surface elements:

El segundo caso es un efecto indeseado, Se omite la sombra de B (Double shading)

Page 45: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Antiradiance

• Base de la técnica: Omitir la oclusión

Antes teníamos que:

Page 46: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Antiradiance

• Ventaja Principal: No hay que chequear quien esta por delante.

Page 47: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

Antiradiance

• Se crea la noción de una luz negativa (sombras).

• Por ejemplo:

Page 48: Real Time Global Illumination for Dynamic scenes Alejandro Drago 06-39485 Cesar Villasana 06-40459

CONCLUSIONES