21
Ray Tracing

Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Embed Size (px)

Citation preview

Page 1: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing

Page 2: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-La primera noción del Ray Tracing se remonta a 1637. Por René Descartes.

-En 1980 se propone el Ray tracing a nivel Computacional, creando imágenes “super-reales “.

-En las decadas posteriores se ha buscado la mejora de eficiencia y optimizacion del Ray Tracing.

Ray Tracing – Introducción

Page 3: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-En 1969 Aparecen las primeras nociones del Ray Tracing.

-En 1980 Se propone el primer Paradigma del Ray Tracing

Ray Tracing – Ray Tracing

Integra:o Reflexión oRefracción oSombras oRemoción de superficies ocultas

Page 4: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-Es la forma mas simple de representar el camino de un rayo de luz en el ambiente.

-Por cada pixel se traza un rayo de luz desde un observador o un punto de vista.

-Los rayos de luz son infinitamente delgados, la reflexión y refracción no se esparce.

-Se crean imágenes Súper-reales , objetos extremadamente pulidos y con reflexiones múltiples extremadamente brillantes.

Ray Tracing – Ray Tracing

Page 5: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-Se observa el rayo de luz que refleja en el cilindro y refracta por el cubo.

-Se observa un rayo que viene directo de la fuente.

- Se observa un rayo que refleja en la esfera y refleja en el cubo.

Ray Tracing – Modelo De Iluminación

Page 6: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Modelo De Iluminación

Page 7: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Para cada pixel de la imagen{ Crear un rayo desde el punto de visión a través del pixelActual Inicializar NearestT al INFINITO y NearestObject a NULL Para cada objeto de la escena { Si el rayo intercepta el objetoActual{ Si t de la intersección es menor que NearestT { Poner NearestT = t de la intersección Poner NearestObject a objetoActual } } } Si NearestObject = NULL{ Rellenamos pixelActual con el color de fondo } Sino{ Lanzar un rayo a cada foco de luz para comprobar las sombras Si la superficie es reflectiva, generar un rayo reflectivo (recursivo) Si la superficie es transparente, generar un rayo refractante (recursivo) Usar NearestObject y NearestT para computar la función de sombreado Rellenar este pixel con el color resultante de la función de sombreado }}

Ray Tracing – Modelo De Iluminación

Page 8: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones

-Si se hace de utilizando fuerza bruta verificando el rayo contra todos los objetos se estima que el 95 % del tiempo se tarda calculando las intersecciones

-Por lo tanto se tiene que lidiar con 2 problemas:oDesempeño de los chequeos de las

intersecciones.oAdoptar una estrategia diferente a la fuerza bruta que guie el orden en que se chequean las intersecciones.

Page 9: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones Rayo/Esfera

1. Se busca si el origen del rayo se encuentra afuera de la esfera.

2. Se busca el punto mas cercano del rayo con respecto al centro de la esfera.

3. Si el punto se encuentra afuera de la esfera y apunta lejos de la esfera el rayo no pasa por ella.

4. Si no se busca la raíz cuadrada de la distancia mas cercana del rayo hacia la superficie de la esfera.

5. Si el valor es negativo el rayo no le pega a la esfera.

6. Si no se encuentra desde arriba la distancia entre la superficie y el rayo

7. Calcular las coordenadas de la intersección.8. Calcula la normal en el punto de intersección.

Page 10: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones Rayo/Esfera

-Es fácil encapsular un objeto en una esfera.

-El chequeo de intersección se hace rápido.

Page 11: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

1. Se obtiene la ecuación del plano que contiene al polígono.

2. Se chequea si hay una intersección entre el plano y el rayo.

3. Se chequea si el polígono se encuentra en la intersección.

Ray Tracing – Intersecciones Rayo/Poligonos

Page 12: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-Es simple de implementar pero es costoso.

Ray Tracing – Intersecciones Rayo/Poligonos

Page 13: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones Rayo/Caja

Page 14: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones Rayo/Cuadrante

Cálculo de coeficientes, a, b, c Similar a esfera

Page 15: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones beam tracing

En lugar de un solo rayo, varios, formando cuerpos geométricosCono, cilindro, pirámideEficiencia y realismo (elimina problemas de aliasing)

Page 16: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Intersecciones Otros Objetos

Subdividir, encerrar en esferas

Page 17: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Sombras Simples Objetos OpacosFactores a tomar en cuenta: Forma e intensidadRay tracing los maneja correctamente , incorpora interacción difusa

Page 18: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Sombras Simples Objetos Opacos‘shadow feeler’Muchas fuentes de luz producen mas carga de trabajoBuffer de luz, acelera el proceso

Page 19: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray Tracing – Sombras Simples Obj. Par. Trans.

Cáustica (Con Backwards Ray tracing)

Sombras más complejas

Page 20: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

-¿Imágenes incorrectas?Tiempos muy largos de procesamiento

Ray Tracing – Deficiencias

Page 21: Ray Tracing. -La primera noción del Ray Tracing se remonta a 1637. Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando

Ray tracing en la prácticaEjemplos de uso de Ray tracingLo nuevo en Ray tracingRay tracing en tiempo real

Próxima exposición