Iluminación Global. Dpto. de Informática Fac. Cs. Físico-Mat. y Nat. Universidad Nacional De San Luis Argentina

Iluminación Global Dpto. de Informática Fac. Cs. Físico-Mat. y Nat. Universidad Nacional De San Luis Argentina Simulación de la Apariencia – Ilumin

0 downloads 70 Views 2MB Size

Story Transcript

Iluminación Global

Dpto. de Informática Fac. Cs. Físico-Mat. y Nat. Universidad Nacional De San Luis Argentina

Simulación de la Apariencia – Iluminación Global

Iluminación Global Consiste en evaluar toda la luz que ingresa en una escena, calculando donde y cuanto de ella es absorbido, reflejado, o refractado y todos aquellos lugares donde ella eventualmente termina. 

Existen tres enfoques básicos: Raytracing, Radiosity, Image Based Rendering.



El primer enfoque: Ray-tracing. Turner-Whitted, 1980.

Rio 14



es moderadamente costoso de calcular.



es “embarrassingly parallel”— se pueden utilizar capacidades de estaciones de trabajo y paralelismo..



Modela una ecuación de iluminación simple (luz ambiental, difusa y especular) para iluminación directa pero solamente considera la reflexión especular para la iluminación indirecta (global).

- Roberto Guerrero @ 2014

2

Simulación de la Apariencia – Iluminación Global

Revisión sobre Iluminación Óptica Geométrica

Rio 14



Las teorías modernas consideran a la luz como onda y como partícula.



Se puede considerar una versión simplificada y combinada del concepto – la versión de la Óptica Geométrica.



Algunas reglas de la óptica geométrica:  La luz es un flujo de fotones con longitud de onda que denominaremos “rayos de luz”.  Los rayos de luz viajan en línea recta en el espacio.  Los rayos de luz no interfieren entre ellos cuando se cruzan.  Los rayos de luz obedecen a las leyes de reflexión y refracción.  Los rayos de luz viajan desde las fuentes de luz hacia el ojo, y la física es invariante en el sentido inverso (reciprocidad).

- Roberto Guerrero @ 2014

3

Simulación de la Apariencia – Iluminación Global

Revisión sobre Iluminación Conceptos clave 

Los modelos de iluminación basados en la física y la iluminación Global describen el transporte de energía y radiación. - sujeto a las propiedades de la luz y los materiales. - sujeto a la geometría de la luz, de los objetos y del observador.



Para cada superficie existe una distribución que caracteriza su absorción y reflexión en cada longitud de onda. - y algunas otras propiedades.....



Todos los modelos de iluminación son por definición aproximados. - basados en el muestreo de la geometría, la distribución de la luz y las propiedades de los materiales y algunos trucos de rendering.



Rio 14

Actualmente existen dos modelos que son utilizados comunmente uno orientado a un pipeline de hardware y otro hacia un trazado de rayos por software.

- Roberto Guerrero @ 2014

4

Simulación de la Apariencia – Iluminación Global

Revisión sobre Iluminación Modelos de Iluminación 

Pipeline de Hardware – rápido de computar y simple de implementar. - utiliza el algoritmo del Z-buffer para la determinación de las superficies visibles. - sólo iluminación local, sin sombreados. - luz ambiental como un truco para aproximar la iluminación global. - reflexión difusa Lambertiana. - reflexión especular de Phong. - fórmula de reflexión local: n I λ= I aλ k a O dλ +∑1≤i≤ m f att I pλ [ k d O dλ ⃗ N⋅⃗ Li +k s O sλ ( ⃗ Ri⋅⃗ V) ]

⏟ ambiental



i

i

⏟⏟ difuso

especular

Trazado de rayos por Software - determinación de superficies visibles. - calcula la iluminación local al igual que el modelo de hardware (ambiental, difusa, especular). - algunas características globales: sombras, reflexión especular recursiva (no difusa), transmisión refractiva.

Rio 14

- Roberto Guerrero @ 2014

5

Simulación de la Apariencia – Iluminación Global

Revisión sobre Iluminación Ojo vs. Trazado de rayos Dónde se origina el rayo de luz?

Rio 14



En la fuente de luz: trazado del rayo de luz (trazado de rayo o fotón hacia adelante)



En el ojo: trazado del rayo del ojo (trazado de rayo hacia atrás)

- Roberto Guerrero @ 2014

6

Simulación de la Apariencia – Iluminación Global

Trazado de Rayos (Raytracing) Una idea simple: En lugar de disparar un número infinito de rayos hacia adelante desde la fuente de luz hacia el observador, mapear hacia atrás un número de rayos desde el observador a través de cada pixel hacia un objeto y la fuente de luz (u otro objeto). 

Dispara rayos desde el ojo a través de un punto de muestra de una foto virtual (pixel): -



computar el color/intensidad del objeto existente en el punto de muestreo, luego pintar en la “foto” en el punto de intersección del rayo-foto.

“Qué es lo que se ve desde afuera” -

la combinación del color del material del elemento de superficie alcanzado por el rayo y el color de la fuente de luz alcanzada por el rayo al reflejarse

.

Rio 14

- Roberto Guerrero @ 2014

7

Simulación de la Apariencia – Iluminación Global

Rendering con Raytracing Subproblemas a resolver •

Generar el rayo.



Encontrar el objeto más cercano en la ruta del rayo.



encontrar la primer intersección del rayo con un objeto dentro de la escena (el rayo sale del ojo y atraviesa el centro del pixel).

Calcular la luz.

-

usar un modelo de iluminacion para determinar la luz en el elemento de superficie mas cercano normal de la superficie rayo de luz

objeto plano del film Rio 14

- Roberto Guerrero @ 2014

8

Simulación de la Apariencia – Iluminación Global

Raytracing Pseudocódigo Seleccionar el centro de proyección y la ventana del plano de visualización; for (cada línea de scan en la imagen) { for (cada pixel en la línea de scan) { - determinar un rayo desde el centro de proyección a través del pixel; for (cada objeto en escena) { if (el objeto es intersecado y es el más cercano) - registar la intersección y el objeto; } - establecer el color del pixel de la intersección; } }

Rio 14

- Roberto Guerrero @ 2014

9

Simulación de la Apariencia – Iluminación Global

Generación del Rayo Origen del rayo  





Rio 14

Iniciar un rayo desde el “punto del ojo” : P Orientar el rayo en la dirección d desde el ojo hacia un punto del plano del film cuyo color se desea conocer. Los puntos a lo largo del rayo tienen la forma P + td donde: - P es el origen del rayo: la posición del “ojo la cámara”. - d es un vertor dirección unitario. - t es un número real no negativo. El “punto del ojo” es el centro de proyección en el volumen de visualización en perspectiva.

- Roberto Guerrero @ 2014

10

Simulación de la Apariencia – Iluminación Global

Generación del Rayo Dirección del Rayo  

Generar rayos respecto de los puntos de pantalla (pixels). Transformar los puntos de pantalla 2D en puntos del plano de visualización 3D. Es necesario encontrar los correspondientes puntos del plano de proyección y luego convertir el rayo al espacio del mundo 3D. -



los rayos deben intersectar los objetos en el mundo original 3D, es decir en el sistema de coordenadas del mundo no transformado.

Utilizar cualquier plano ortogonal al vector look como plano de visualización.

Volumen de visualización transformado cualquier plano z=k, -1< k < 0 puede ser el plano del film Rio 14

- Roberto Guerrero @ 2014

Espacio del mundo sin transformar 11

Simulación de la Apariencia – Iluminación Global

Generación del Rayo Dirección del Rayo (cont.) 

Transformar el punto del plano de visualización en un punto del espacio del mundo.

Punto en el espacio de pantalla



Rio 14

Rayo en el espacio del mundo

La transformación de normalización convierte los puntos del espacio del mundo a puntos en el volumen de visualización canónicos



Punto en el plano de visualización canónico

transladar al origen, orientar en el eje z, escalar en x e y, y ajustar los ángulos de visualización de modo que z: [-1, 0]; x,y: [-1, 1]

La inversa de la transformación de normalización: la Tranformación de Visualización

- Roberto Guerrero @ 2014

12

Simulación de la Apariencia – Iluminación Global

Trazador de Rayos Pseudocódigo Definir los objetos y las fuentes de luz de la escena. Establecer los parámetros de la cámara. for (int r =0; r < nRows; r++) { for (int c =0; c < nCols; c++) { - Contruir el rc-ésimo rayo. - Encontrar todas las intersecciones del rayo rc con los objetos de la escena. - Identificar las intersecciones que se encuentran más cercanas y en frente del ojo. - Computar el “punto de toque” del rayo y el objeto, y el vector normal en éste punto. - Encontrar el color de la luz que retorna al ojo desde el punto de intersección. - Pintar el pixel rc con el color obtenido. } }

Rio 14

- Roberto Guerrero @ 2014

13

Simulación de la Apariencia – Iluminación Global

Resumen Arquitectura de Trazador de Rayos

Rio 14

- Roberto Guerrero @ 2014

14

Simulación de la Apariencia – Iluminación Global

Qué pasa con los pixels? Los pixels no son muestras

Rio 14



Siempre se habló de “muestras”, no de “pixels”.



En el caso más simple, se puede establecer que las muestras son cada uno de los pixels.



Mejores resultados se pueden obtener con sobremuestreo: múltiples muestras para un mismo pixel.



Mejores resultados a través de un muestreo adaptativo: aumentar la densidad de muestreo en áreas de gran cambio (tanto geométricamente como de luz).



Se puede hacer un muestreo estocástico: las muestras se realizan con régimen probabilístico.



Para resultados rápidos, submuestreo: tomar tantas muestras como lo permita el tiempo de la aplicación.



¿Cómo convertir las muestars en pixels?; simplemente se utiliza alguna técnica de filtro (promedio pesado de las muestras, etc...).

- Roberto Guerrero @ 2014

15

Simulación de la Apariencia – Iluminación Global

Qué sucede con los pixels? Los pixels no son muestras

a)

Pixel actual

Bloque de pixels

b)

Rio 14

- Roberto Guerrero @ 2014

16

Simulación de la Apariencia – Iluminación Global

Raytracing Recursivo Simulando efectos de iluminación global 

 

Disparando en forma recursiva nuevos rayos en la escena, se puede obtener mayor información. Comenzar con el punto de intersección. Enviar rayos en diferentes direcciones: -

Rio 14

hacia las fuentes de luz (L) rebotando en los objetos (reflexión especular R) a través de los objetos (transparencia T)

- Roberto Guerrero @ 2014

17

Simulación de la Apariencia – Iluminación Global

Raytracing Recursivo Estados

Rayos primarios

Rayos de sombras Rio 14

- Roberto Guerrero @ 2014

Rayos de reflexión

Rayos de refractados 18

Simulación de la Apariencia – Iluminación Global

Sombreados 

Cada luz en la escena hace una contribución al color y la intensidad del elemento de superficie numluces

IntensidadObjeto λ=ambiental + 

luz=1

atenuacion⋅IntensidadLuz λ⋅[ difusa+especular ]

Si y solo si alcanza un objeto -

éste puede ser oculto por otros objetos en la escena puede ser oculto por otras partes del mismo objeto



Construir un rayo desde la superficie hacia cada fuente de luz



Chequear si el rayo intersecta otros objetos antes de poder alcanzar la fuente de luz -

Rio 14



si el rayo no intersecta ningun objeto en su ruta hacia la fuente de luz, luego la contribución de la fuente al punto es de máxima iluminación. si el rayo intersecta un objeto en su ruta, la contribución de la fuente al punto es nula. qué sucede con los objetos transparentes?.

- Roberto Guerrero @ 2014

19

Simulación de la Apariencia – Iluminación Global

Superficies Transparentes Transparencia no refractiva 

Para un polígono parcialmente transparente

I λ =( 1− k t1 ) I λ1 + k t1 I λ2 k t1 =transmisión del polígono 1 I λ1 =intensidad calculada para el polígono 1 I λ2 =intensidad calculada para el polígono 2

Rio 14

- Roberto Guerrero @ 2014

20

Simulación de la Apariencia – Iluminación Global

Superficies Transparentes Transparencia Refractiva 

Modelar la forma en que la luz se refracta en las superficies complica un poco el proceso Línea de visión no refractada (geometrica) Línea de visión Refractada (optica)

θ

θ

t

Objeto Transparente

i Línea de visión



La ley de Snell

sin θ t =

sinθ i η iλ η tλ

ηiλ =índice de refracción del Medio 1 ηtλ =índice de refracción del Medio 2 Rio 14

- Roberto Guerrero @ 2014

Medio 1 Medio 2

21

Simulación de la Apariencia – Iluminación Global

Reflección y Transmisión

Ley de Reflexión

θ i =θ r Ley Snell de Refracción

η i sinθ i =η t sinθ t ηdonde i ,η t Rio 14

- Roberto Guerrero @ 2014

son índices de refracción 22

Simulación de la Apariencia – Iluminación Global

Raytracing Recursivo Publicado por Whitted en 1979 

Trazado de rayos adicionales en las intersecciones: -



luz: trazar un rayo hacia cada fuente de luz. Si la fuente de luz es bloqueada por un objeto opaco, no existe contribución de iluminación y el objeto se encuentra en la sombra de la luz para este punto. reflexión: trazar un rayo con característica especular, reflejando acorde con la dirección de N. refracción: trazar un rayo en dirección de refracción acorde con la ley de Snell. recursivamente generar nuevos rayos de luz, reflexión y refracción en cada intersección hasta que la contribución del rayo sea despreciable. un modelo de trazado de rayos recursivo debe manejar reflexión especular y transparencias. las fuentes de luz contribuyen en las componentes difusas y especulares. la reflexión recursiva entre los objetos es estrictamente especular. la reflexión difusa entre los objetos se trata con radiosidad.

La nueva ecuación de iluminación I λ =⏟ I aλ k a O dλ + ∑m f att I pλ [ ⏟ k d O dλ ⃗ N⋅⃗L + ⏟ k s O sλ ( ⃗ R⋅⃗ V )n ]+ k⏟ k t O tλ I tλ s O sλ + ⏟ ambiental

difusa

especular

reflejada refractada ⏟ recursiva

Rio 14

- Roberto Guerrero @ 2014

23

Simulación de la Apariencia – Iluminación Global

Raytracing Recursivo Arbol de rayos y luces

Rio 14

- Roberto Guerrero @ 2014

indirect illumination

24

Simulación de la Apariencia – Iluminación Global

Trazador de Rayos Recursivo Pseudocódigo

Rio 14

- Roberto Guerrero @ 2014

25

Simulación de la Apariencia – Iluminación Global

Resumen Arquitecture del Ray Tracing

Rio 14

- Roberto Guerrero @ 2014

26

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering Trazador de Rayos (Ray Tracing) 

Rio 14

Ray-tracing es bueno para superficies reflectivas, brillantes, transparentes tales como metal y vidrio. Puede generar sombras y cáusticas (focalización de la luz debido su interacción con superficies especulares curvas). Debido a que estos efectos son relativamente poco frecuentes en la vida diaria, cuando se encuentran juntos en un plasmado parecen poco realistas.

- Roberto Guerrero @ 2014

27

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering Radiosidad (Tansporte de la Energía) 

Rendering centrado en la escena. Dividir la escena en pequeños parches de superficie y calcular cuanta luz contribuye el parche al resto de la escena. Problema circular: un parche A contribuye a un parche B, el cual contribuye nuevamente al parche A y éste a B, etc... Muy costoso de resolver. 

Rio 14

Independiente del observador – procesamiento batch, seguido de procesamiento en tiempo real, display dependiente del observador.

- Roberto Guerrero @ 2014

28

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering Radiosidad (cont.) 



Rio 14

Bueno para iluminación indirecta, degradado de color, sombreado suave, escenarios interiores con superficies mate. Es una técnica convincente para plasmados de interior con luz indirecta y superficies mate. Muy buenos resultados se obtienen con la combinación de radiosidad y ray-tracing.

- Roberto Guerrero @ 2014

29

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering El mejor es degradado elegantemente (combinación) 



Rio 14

Ray-tracing selectivo. Usualmente solo unos pocos objetos brillantes/transparentes de la escena son plasmados por raytracing. Iluminación local sobre objetos mate. Se calcula radiosidad en los vértices de la escena una sola vez, luego se usa esta información para el cálculo del sombreado Gouraud (sólo colores difuso en escenas estáticas).

- Roberto Guerrero @ 2014

30

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering El mejor: Muestreo realista 

La ecuación de Kajiya (1986) 

 

Rio 14

muy costosa de computar

La técnicas previas son diferentes aproximaciones a la ecuación de rendering total. Ejemplo: Metropolis Light Transport de Eric Veach (1997)

- Roberto Guerrero @ 2014

31

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering Rendering basado en las imágenes 

En lugar de gastar dinero y tiempo en el modelado de objetos de una escena, tomar una foto de la misma. Luego capturar la geometría y luz de la escena con poco costo.



Es análogo a la composición de imágenes 3D.



Pregunta: cómo generar vistas diferentes a la tomada en la foto. Varias propuestas.

Imagen original Rio 14

- Roberto Guerrero @ 2014

Nuevo punto de vista

Reiluminación 32

Simulación de la Apariencia – Iluminación Global

Técnicas de Rendering Sombreado Procedural 

Efectos complejos de iluminación pueden ser obtenidos mediante lenguajes de sombreado   

 

El software Renderman de Pixar Actualmente se encuentra en hardware 

Rio 14

provee un número de posibilidades ilimitado. la iluminación global puede ser simulada con poca sobrecarga computacional. pero usualmente requiere capacidades artísicas para la generación del código.

nVidia’s GeForce3/4

- Roberto Guerrero @ 2014

33

Simulación de la Apariencia – Iluminación Global

Rio 14

- Roberto Guerrero @ 2014

34

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.