Introducción al Ray Tracing Básico

Presentación sobre los fundamentos del Ray Tracing, incluyendo algoritmos, intersección rayo-objeto y desafíos de rendimiento.

Gráficos por Ordenador · Universidad Pompeu Fabra · Grado en Ingeniería de Sistemas Audiovisuales · 2.º curso

82 páginas · 13 temas · 65 flashcards · 65 preguntas tipo test

Índice

  1. 1. Introducción al Ray Tracing · p. 1-4
  2. 2. Ray Tracing: Intuición y Rasterización · p. 5-16
  3. 3. Ray Tracing: Proceso Detallado · p. 17-35
  4. 4. Ray Casting · p. 37-43
  5. 5. Discusión: Ray Casting vs Rasterización · p. 44-45
  6. 6. Ray Tracing Recursivo · p. 45-48
  7. 7. Ray Tracing Estocástico (Distribución) · p. 49-56
  8. 8. Path Tracing · p. 56-59
  9. 9. Intersección Rayo-Superficie · p. 61-64
  10. 10. Intersección Rayo-Plano · p. 65-68
  11. 11. Intersección Rayo-Triángulo · p. 69-73
  12. 12. Desafíos de Rendimiento del Ray Tracing · p. 74-79
  13. 13. Conclusiones y Mensajes Clave · p. 80-81

1. Introducción al Ray Tracing

Flashcards

¿Qué es el Ray Tracing?
Es una técnica de renderizado que simula el camino de la luz para generar imágenes.
¿Cuál es la diferencia principal entre Ray Tracing y Rasterización?
Ray Tracing está ordenado por píxeles, mientras que la Rasterización está ordenada por objetos.
¿Qué tres ideas básicas sobre los rayos de luz son clave en Ray Tracing?
1. La luz viaja en línea recta. 2. Los rayos de luz no interactúan entre sí. 3. La luz viaja desde las fuentes de luz al ojo.
¿Qué es el Ray Casting?
Es un algoritmo de Ray Tracing que sintetiza una imagen enviando un rayo por píxel y determinando sombras con rayos de sombra.

Preguntas tipo test

  1. ¿Cuál de los siguientes NO es un algoritmo basado en Ray Tracing?
    • a) Ray Casting
    • b) Rasterización
    • c) Path Tracing
    • d) Recursive Ray Tracing

    Respuesta: b) Rasterización. La rasterización es un método de renderizado diferente al Ray Tracing, que proyecta triángulos en la pantalla en lugar de rastrear rayos.

  2. ¿Cuál es la principal ventaja del Ray Tracing sobre la Rasterización?
    • a) Mayor velocidad de cálculo
    • b) Implementación más sencilla
    • c) Efectos visuales más avanzados
    • d) Menor consumo de memoria

    Respuesta: c) Efectos visuales más avanzados. El Ray Tracing permite efectos visuales más avanzados como reflejos, refracciones y sombras suaves, aunque requiere más cálculos.

  3. ¿Qué concepto clave se introduce con el Distribution Ray Tracing?
    • a) Trazado de rayos recursivo
    • b) Sombras suaves y materiales brillantes
    • c) Cálculo de la iluminación global
    • d) Intersección rayo-objeto optimizada

    Respuesta: b) Sombras suaves y materiales brillantes. El Distribution Ray Tracing introduce el concepto de lanzar múltiples rayos secundarios para lograr efectos como sombras suaves y materiales brillantes.

2. Ray Tracing: Intuición y Rasterización

Flashcards

¿Qué es la rasterización?
Proceso de convertir una imagen vectorial en una imagen raster (píxeles).
¿Cuál es la ecuación paramétrica de un rayo?
r(t) = o + td, donde 'o' es el origen y 'd' es la dirección.
¿Qué es el 'ray casting'?
Técnica que sintetiza una imagen enviando un rayo por cada píxel.
¿Qué tipo de efectos de luz permite el 'distribution ray tracing'?
Sombras suaves, materiales brillantes, motion blur y profundidad de campo.

Preguntas tipo test

  1. ¿Cuál es la principal diferencia entre rasterización y ray tracing?
    • a) Rasterización proyecta triángulos, ray tracing intercepta triángulos.
    • b) Ray tracing es más rápido que rasterización.
    • c) Rasterización es un algoritmo pixel-ordenado.
    • d) Ray tracing solo funciona con esferas.

    Respuesta: a) Rasterización proyecta triángulos, ray tracing intercepta triángulos.. La rasterización proyecta triángulos en la pantalla, mientras que el ray tracing lanza rayos a través de los píxeles e intercepta los triángulos.

  2. ¿Cuál de las siguientes ideas NO es fundamental para el modelado de la luz en ray tracing?
    • a) La luz viaja en línea recta.
    • b) Los rayos de luz interactúan entre sí.
    • c) La luz viaja desde las fuentes de luz al ojo.
    • d) La física es invariante a la inversión de la dirección de propagación.

    Respuesta: b) Los rayos de luz interactúan entre sí.. Una de las ideas clave del ray tracing es que los rayos de luz no interactúan entre sí.

  3. ¿Qué técnica de ray tracing permite simular sombras suaves?
    • a) Ray casting.
    • b) Recursive ray tracing.
    • c) Distribution ray tracing.
    • d) Path tracing.

    Respuesta: c) Distribution ray tracing.. Distribution ray tracing dispara varios rayos secundarios, permitiendo simular efectos como sombras suaves.

3. Ray Tracing: Proceso Detallado

Flashcards

¿Qué postulado fundamental del comportamiento de la luz es clave para el Ray Tracing?
La luz viaja en línea recta.
¿Qué tipo de vector se utiliza para definir la orientación de un plano en el espacio?
Un vector normal.
¿Cuál es el primer paso para determinar la intersección de un rayo con un triángulo?
Calcular la intersección del rayo con el plano que contiene el triángulo.
¿Qué prueba geométrica se utiliza para determinar si un punto está dentro de un triángulo?
El test inside/outside.

Preguntas tipo test

  1. ¿Cuál es el propósito principal del Ray Casting?
    • a) Simular reflejos especulares complejos
    • b) Sintetizar una imagen enviando un rayo por cada pixel
    • c) Calcular la iluminación global de una escena
    • d) Optimizar la intersección de rayos con objetos

    Respuesta: b) Sintetizar una imagen enviando un rayo por cada pixel. El Ray Casting sintetiza una imagen enviando un rayo por cada pixel, determinando la visibilidad y el color de cada punto en la imagen.

  2. ¿Qué información se necesita para definir un plano en el contexto de la intersección rayo-plano?
    • a) Un vector normal y un punto en el plano
    • b) Dos vectores directores y el origen
    • c) Tres puntos no colineales en el plano
    • d) Un vector normal y el ángulo de incidencia

    Respuesta: a) Un vector normal y un punto en el plano. Un plano se define mediante un vector normal al plano y un punto que pertenece a ese plano.

  3. ¿Cuál es el primer paso para determinar la intersección de un rayo con un triángulo?
    • a) Calcular los vectores normales de las aristas del triángulo
    • b) Determinar si el rayo es paralelo al plano del triángulo
    • c) Calcular la intersección del rayo con el plano que contiene el triángulo
    • d) Aplicar el test inside/outside directamente

    Respuesta: c) Calcular la intersección del rayo con el plano que contiene el triángulo. El primer paso es calcular la intersección del rayo con el plano que contiene el triángulo. Luego, se verifica si el punto de intersección está dentro del triángulo.

4. Ray Casting

Flashcards

¿Qué hace Ray Casting?
Sintetiza una imagen enviando un rayo por cada píxel.
¿Qué tipo de rayos se utilizan para determinar las sombras en Ray Casting?
Rayos de sombra.
¿Cuáles son las tres ideas básicas sobre la luz en Ray Casting?
La luz viaja en línea recta, los rayos de luz no interactúan entre sí y la luz viaja desde las fuentes de luz al ojo.
¿Qué representa el parámetro 't' en la ecuación del rayo?
La posición a lo largo del rayo.

Preguntas tipo test

  1. ¿Cuál es el propósito principal del Ray Casting?
    • a) Simular reflejos especulares complejos
    • b) Sintetizar una imagen enviando un rayo por píxel
    • c) Calcular la iluminación global de una escena
    • d) Optimizar la renderización en tiempo real

    Respuesta: b) Sintetizar una imagen enviando un rayo por píxel. El Ray Casting se basa en enviar un rayo por cada píxel para determinar qué objetos son visibles y cómo deben ser sombreados.

  2. ¿Qué información se utiliza para determinar la visibilidad en el Ray Casting?
    • a) La distancia a la fuente de luz
    • b) El color del objeto más cercano
    • c) El punto de intersección más cercano al observador
    • d) La dirección de la normal de la superficie

    Respuesta: c) El punto de intersección más cercano al observador. En Ray Casting, la visibilidad se determina encontrando el punto de intersección más cercano al observador a lo largo del rayo lanzado desde el píxel.

  3. ¿Qué tipo de rayos se utilizan en Ray Casting para determinar las sombras?
    • a) Rayos de reflexión
    • b) Rayos de refracción
    • c) Rayos de sombra
    • d) Rayos difusos

    Respuesta: c) Rayos de sombra. Los rayos de sombra se lanzan desde el punto de intersección hacia la fuente de luz para determinar si el punto está en sombra.

5. Discusión: Ray Casting vs Rasterización

Flashcards

¿Cuál es el orden de procesamiento en rasterización?
Objeto-ordenado: proyectar triángulos y rasterizar píxeles.
¿Cuál es el orden de procesamiento en ray casting?
Píxel-ordenado: disparar rayos a través de píxeles e interceptar triángulos.
¿Qué tipo de efectos visuales simula mejor el ray tracing en comparación con la rasterización?
Reflejos especulares y refracciones.
¿Qué idea clave sobre la luz es fundamental para el ray casting?
La luz viaja en línea recta.

Preguntas tipo test

  1. ¿Cuál es la principal diferencia en el orden de procesamiento entre rasterización y ray casting?
    • a) Rasterización procesa píxeles, ray casting procesa objetos.
    • b) Rasterización procesa objetos, ray casting procesa píxeles.
    • c) Ambos procesan píxeles y objetos simultáneamente.
    • d) Ninguno procesa píxeles ni objetos directamente.

    Respuesta: b) Rasterización procesa objetos, ray casting procesa píxeles.. La rasterización proyecta triángulos en la pantalla y luego rasteriza los píxeles, mientras que el ray casting dispara rayos a través de los píxeles e intercepta los triángulos. Por lo tanto, la rasterización está ordenada por objetos y el ray casting por píxeles.

  2. En términos de efectos visuales avanzados, ¿cuál es una ventaja del ray tracing sobre la rasterización?
    • a) Ray tracing es más rápido en el cálculo de sombras.
    • b) Ray tracing permite simulaciones más precisas de reflejos y refracciones.
    • c) Rasterización maneja mejor la oclusión ambiental.
    • d) Ambos métodos son iguales en efectos visuales.

    Respuesta: b) Ray tracing permite simulaciones más precisas de reflejos y refracciones.. Ray tracing puede simular reflejos especulares, refracciones y sombras suaves de manera más natural y precisa que la rasterización, que requiere trucos adicionales para aproximar estos efectos.

  3. ¿Qué idea clave sobre la luz es fundamental para el ray casting?
    • a) La luz se curva alrededor de los objetos.
    • b) La luz viaja en línea recta.
    • c) La luz interactúa fuertemente con otras partículas de luz.
    • d) La luz siempre se difunde uniformemente.

    Respuesta: b) La luz viaja en línea recta.. El ray casting se basa en la idea de que la luz viaja en línea recta desde la fuente de luz hasta el ojo, lo que permite calcular las interacciones con los objetos en la escena.

6. Ray Tracing Recursivo

Flashcards

¿Quién introdujo el Ray Tracing Recursivo?
Turner Whitted en 1980.
¿Qué tipo de efectos visuales permite simular el Ray Tracing Recursivo?
Reflexiones y transmisiones especulares.
¿Qué tipo de superficie detiene la recursión en el Ray Tracing Recursivo?
Una superficie no especular (difusa).
¿Cuál es una limitación del Ray Tracing Recursivo en comparación con el Path Tracing?
No simula efectos de iluminación global complejos como cáusticas.

Preguntas tipo test

  1. ¿Cuál es el objetivo principal del Ray Tracing Recursivo?
    • a) Simular efectos de reflexión y transmisión especular.
    • b) Calcular la iluminación difusa directa.
    • c) Optimizar el proceso de rasterización.
    • d) Generar sombras suaves.

    Respuesta: a) Simular efectos de reflexión y transmisión especular.. El Ray Tracing Recursivo se enfoca en simular reflexiones y transmisiones especulares mediante el trazado recursivo de rayos secundarios.

  2. ¿Qué tipo de rayos se trazan recursivamente en el Ray Tracing Recursivo?
    • a) Rayos de sombra.
    • b) Rayos primarios.
    • c) Rayos secundarios.
    • d) Rayos de luz.

    Respuesta: c) Rayos secundarios.. El Ray Tracing Recursivo traza recursivamente rayos secundarios (reflexión y refracción) desde el punto de intersección.

  3. ¿Qué condición detiene la recursión en el Ray Tracing Recursivo?
    • a) Cuando un rayo alcanza una fuente de luz.
    • b) Cuando un rayo golpea una superficie difusa.
    • c) Cuando se alcanza la profundidad máxima de recursión.
    • d) Cuando un rayo no intersecta ningún objeto.

    Respuesta: b) Cuando un rayo golpea una superficie difusa.. La recursión se detiene cuando un rayo golpea una superficie no especular (difusa), ya que estas no generan nuevos rayos secundarios.

7. Ray Tracing Estocástico (Distribución)

Flashcards

¿Qué tipo de efectos de iluminación puede simular el Ray Tracing Estocástico?
Sombras suaves, materiales brillantes, desenfoque de movimiento y profundidad de campo.
¿Qué significa que el Ray Tracing Estocástico 'promedia' la contribución de los rayos secundarios?
Calcula la iluminación final como un promedio de los resultados obtenidos de cada rayo secundario.
¿Cuál es la principal desventaja del Ray Tracing Estocástico?
Es computacionalmente más costoso debido a la necesidad de trazar múltiples rayos.
¿Qué técnica se utiliza en Ray Tracing Estocástico para simular el desenfoque de movimiento?
Muestreo de la escena en diferentes momentos durante el tiempo de exposición.

Preguntas tipo test

  1. ¿Cuál es la idea clave detrás del Ray Tracing Estocástico (Distribución)?
    • a) Utilizar un solo rayo secundario para cada reflexión.
    • b) Disparar varios rayos secundarios en lugar de uno solo para cada reflexión.
    • c) Ignorar los rayos secundarios para optimizar el rendimiento.
    • d) Calcular solo la reflexión especular.

    Respuesta: b) Disparar varios rayos secundarios en lugar de uno solo para cada reflexión.. La idea clave del Ray Tracing Estocástico es mejorar la calidad de la imagen disparando varios rayos secundarios en lugar de uno solo, promediando sus contribuciones para simular efectos como sombras suaves y materiales brillantes.

  2. ¿Qué efectos de iluminación puede simular el Ray Tracing Estocástico?
    • a) Solo reflejos especulares perfectos.
    • b) Sombras duras y reflejos perfectos.
    • c) Sombras suaves (umbra y penumbra) y materiales brillantes.
    • d) Solo refracción de la luz.

    Respuesta: c) Sombras suaves (umbra y penumbra) y materiales brillantes.. El Ray Tracing Estocástico permite simular efectos de iluminación más realistas como sombras suaves (distinguiendo entre umbra y penumbra) y materiales brillantes, gracias al promedio de múltiples rayos secundarios.

  3. ¿Qué ocurre con el tiempo de cálculo al utilizar Ray Tracing Estocástico?
    • a) Se reduce significativamente.
    • b) Permanece igual que en el Ray Tracing recursivo.
    • c) Aumenta, ya que se necesita disparar más rayos.
    • d) Es irrelevante para la calidad de la imagen.

    Respuesta: c) Aumenta, ya que se necesita disparar más rayos.. El Ray Tracing Estocástico requiere disparar una mayor cantidad de rayos para lograr efectos de iluminación más suaves y realistas, lo que inevitablemente incrementa el tiempo de cálculo en comparación con métodos más simples.

8. Path Tracing

Flashcards

¿Qué tipo de caminos traza el Path Tracing?
Caminos aleatorios desde la cámara a través de la escena.
¿Qué ocurre con los caminos en Path Tracing al encontrar un material difuso?
Continúan rebotando aleatoriamente.
¿Qué ecuación fundamental utiliza el Path Tracing?
La ecuación de renderizado.
¿Cuál es el resultado de promediar las contribuciones de múltiples caminos en Path Tracing?
El color final del píxel.

Preguntas tipo test

  1. ¿Cuál es la idea principal detrás del Path Tracing?
    • a) Trazar caminos aleatorios desde la cámara a través de la escena.
    • b) Calcular la iluminación directa solamente.
    • c) Usar solo rayos especulares.
    • d) Ignorar los materiales difusos.

    Respuesta: a) Trazar caminos aleatorios desde la cámara a través de la escena.. El Path Tracing se basa en trazar caminos aleatorios desde la cámara a través de la escena, permitiendo una simulación más completa de la iluminación.

  2. ¿Qué ocurre con los caminos trazados en Path Tracing cuando golpean un material difuso?
    • a) Los caminos terminan inmediatamente.
    • b) Los caminos continúan rebotando aleatoriamente.
    • c) Se generan solo rayos especulares.
    • d) Se ignoran los materiales difusos.

    Respuesta: b) Los caminos continúan rebotando aleatoriamente.. En Path Tracing, los caminos no terminan cuando golpean un material difuso, sino que continúan rebotando aleatoriamente, simulando la dispersión de la luz.

  3. ¿Qué tipo de algoritmos generaliza el Path Tracing?
    • a) Algoritmos de rasterización.
    • b) Algoritmos de iluminación directa.
    • c) Algoritmos de trazado de rayos anteriores.
    • d) Algoritmos de sombreado local.

    Respuesta: c) Algoritmos de trazado de rayos anteriores.. El Path Tracing generaliza los algoritmos de trazado de rayos anteriores en un único marco de trabajo, permitiendo una simulación más completa de la iluminación.

9. Intersección Rayo-Superficie

Flashcards

¿Qué tipo de malla se utiliza comúnmente para representar objetos 3D en el ray tracing?
Mallas de triángulos
¿Qué dos componentes definen un plano en el contexto de la intersección rayo-plano?
Un vector normal y un punto en el plano
¿Cuál es el propósito de la prueba 'dentro/fuera' en la intersección rayo-triángulo?
Determinar si el punto de intersección está dentro de los límites del triángulo
¿Qué operación vectorial se utiliza para calcular el vector normal de un plano definido por tres puntos?
Producto vectorial

Preguntas tipo test

  1. ¿Qué representa típicamente a los objetos 3D en el ray tracing?
    • a) Conjuntos de píxeles
    • b) Mallas de polígonos
    • c) Funciones matemáticas complejas
    • d) Imágenes bidimensionales

    Respuesta: b) Mallas de polígonos. Los objetos 3D se representan comúnmente mediante mallas de polígonos, especialmente triángulos, para aproximar su forma en el ray tracing.

  2. ¿Cuál es el primer paso para determinar la intersección entre un rayo y un triángulo en el ray tracing?
    • a) Calcular la distancia al observador
    • b) Determinar la normal del triángulo
    • c) Calcular la intersección del rayo con el plano que contiene el triángulo
    • d) Aplicar una transformación de matriz

    Respuesta: c) Calcular la intersección del rayo con el plano que contiene el triángulo. El primer paso es calcular la intersección del rayo con el plano que contiene el triángulo, simplificando el problema a una intersección rayo-plano.

  3. ¿Qué se necesita para definir un plano en el contexto de la intersección rayo-plano?
    • a) Un vector normal y un punto en el plano
    • b) Dos vectores directores
    • c) Tres puntos colineales
    • d) El origen y la dirección del rayo

    Respuesta: a) Un vector normal y un punto en el plano. Un plano se define mediante un vector normal al plano y un punto que se encuentre sobre el plano. Esta información es esencial para calcular la intersección con un rayo.

10. Intersección Rayo-Plano

Flashcards

¿Qué dos elementos definen un plano en el espacio?
Un vector normal y un punto en el plano.
¿Cuál es la ecuación paramétrica de un rayo?
r(t) = o + td, donde 'o' es el origen, 'd' es la dirección y 't' es un parámetro escalar.
¿Qué indica que el producto punto entre el vector de dirección de un rayo y el vector normal de un plano sea cero?
El rayo es paralelo al plano.
¿Cuál es el primer paso para determinar la intersección entre un rayo y un triángulo?
Calcular la intersección del rayo con el plano que contiene el triángulo.

Preguntas tipo test

  1. ¿Qué define un plano en el contexto de la intersección rayo-plano?
    • a) Un punto y un vector de dirección.
    • b) Dos puntos distintos en el espacio.
    • c) Un vector normal y un punto en el plano.
    • d) Tres puntos colineales.

    Respuesta: c) Un vector normal y un punto en el plano.. Un plano se define por un vector normal que es perpendicular al plano y un punto que se encuentra dentro del plano. Esta información es suficiente para describir completamente la orientación y la posición del plano en el espacio.

  2. En la ecuación del rayo r(t) = o + td, ¿qué representa la variable 't'?
    • a) La dirección del rayo.
    • b) El origen del rayo.
    • c) Un parámetro escalar que indica la posición a lo largo del rayo.
    • d) El punto de intersección del rayo con un plano.

    Respuesta: c) Un parámetro escalar que indica la posición a lo largo del rayo.. En la ecuación del rayo, 't' es un parámetro escalar que, al variar, define diferentes puntos a lo largo de la línea que representa el rayo. Al multiplicar 't' por el vector de dirección 'd' y sumarlo al origen 'o', se obtiene la posición de un punto específico en el rayo.

  3. Para calcular la intersección entre un rayo y un plano, ¿qué ecuación se debe resolver?
    • a) La ecuación del rayo igualada a cero.
    • b) La ecuación del plano igualada a la ecuación del rayo.
    • c) La ecuación del plano igualada a cero.
    • d) El producto cruz entre el vector de dirección del rayo y el vector normal del plano.

    Respuesta: b) La ecuación del plano igualada a la ecuación del rayo.. Para encontrar la intersección, se sustituye la ecuación paramétrica del rayo en la ecuación del plano y se resuelve para el parámetro 't'. Esto permite encontrar el punto en el rayo que también se encuentra en el plano, es decir, el punto de intersección.

11. Intersección Rayo-Triángulo

Flashcards

¿Cuál es el primer paso para determinar la intersección de un rayo con un triángulo?
Calcular la intersección del rayo con el plano que contiene el triángulo.
¿Qué operación vectorial se usa para encontrar la normal de un plano que contiene un triángulo?
Producto vectorial (cruz).
En el test inside/outside, ¿qué indica un producto escalar negativo?
Que el punto está fuera del triángulo.
¿Qué tipo de prueba se utiliza para determinar si un punto está dentro o fuera de un triángulo en 3D?
Prueba inside/outside extendida a 3D.

Preguntas tipo test

  1. ¿Cuál es el primer paso para determinar la intersección de un rayo con un triángulo?
    • a) Calcular la normal del plano que contiene el triángulo.
    • b) Calcular la intersección del rayo con el plano que contiene el triángulo.
    • c) Determinar si el punto de intersección está dentro o fuera del triángulo.
    • d) Calcular el producto cruz de los vértices del triángulo.

    Respuesta: b) Calcular la intersección del rayo con el plano que contiene el triángulo.. El primer paso es calcular dónde el rayo intersecta el plano que contiene el triángulo. Los pasos siguientes requieren esta información.

  2. Para calcular la normal de un plano que contiene un triángulo, ¿qué operación se utiliza?
    • a) Producto escalar.
    • b) Producto vectorial (cruz).
    • c) Suma de vectores.
    • d) Resta de vectores.

    Respuesta: b) Producto vectorial (cruz).. El producto vectorial (o cruz) de dos vectores en el triángulo da como resultado un vector normal al plano que lo contiene.

  3. En el test inside/outside para triángulos en 2D, ¿qué indica un producto escalar menor que cero?
    • a) Que el punto está dentro del triángulo.
    • b) Que el punto está fuera del triángulo.
    • c) Que el punto está en el borde del triángulo.
    • d) Que el punto es el baricentro del triángulo.

    Respuesta: b) Que el punto está fuera del triángulo.. Un producto escalar menor que cero indica que el punto está en el lado 'malo' del borde del triángulo, es decir, fuera del triángulo.

12. Desafíos de Rendimiento del Ray Tracing

Flashcards

¿Cuál es el principal cuello de botella en el rendimiento del ray tracing básico?
Las pruebas de intersección rayo-escena con todos los objetos.
¿Qué relación existe entre el número de píxeles, triángulos y las pruebas de intersección en el ray tracing?
El número de pruebas de intersección es aproximadamente el producto del número de píxeles y triángulos.
¿Por qué es importante optimizar la intersección rayo-escena?
Para reducir el tiempo total de renderizado.
¿Qué tipo de escenas presentan mayores desafíos de rendimiento en el ray tracing?
Escenas con un gran número de triángulos.

Preguntas tipo test

  1. ¿Cuál es el principal desafío de rendimiento en el ray tracing básico?
    • a) La complejidad de los cálculos de iluminación.
    • b) La necesidad de probar la intersección con todos los objetos de la escena.
    • c) La dificultad de generar rayos primarios.
    • d) La limitación en la cantidad de memoria disponible.

    Respuesta: b) La necesidad de probar la intersección con todos los objetos de la escena.. El ray tracing básico requiere probar la intersección de cada rayo con todos los objetos en la escena, lo cual es computacionalmente intensivo, especialmente en escenas complejas.

  2. En el contexto de los desafíos de rendimiento, ¿qué factor influye directamente en el número de pruebas de intersección en el ray tracing?
    • a) La resolución de la imagen.
    • b) El número de fuentes de luz.
    • c) El número de triángulos en la escena.
    • d) La complejidad de los materiales.

    Respuesta: c) El número de triángulos en la escena.. El número de triángulos en la escena es un factor clave, ya que cada rayo debe probar su intersección con cada triángulo, incrementando el costo computacional.

  3. ¿Cómo se compara el número de pruebas de intersección con el número de píxeles y triángulos en una escena de ray tracing?
    • a) El número de pruebas es significativamente menor que el número de píxeles y triángulos.
    • b) El número de pruebas es proporcional a la suma del número de píxeles y triángulos.
    • c) El número de pruebas es aproximadamente el producto del número de píxeles y triángulos.
    • d) El número de pruebas es independiente del número de píxeles y triángulos.

    Respuesta: c) El número de pruebas es aproximadamente el producto del número de píxeles y triángulos.. El número de pruebas de intersección es aproximadamente el producto del número de píxeles y el número de triángulos, lo que demuestra la alta carga computacional.

13. Conclusiones y Mensajes Clave

Flashcards

¿Cuál es una de las principales ventajas del Ray Tracing en comparación con Rasterization?
Capacidad para generar efectos visuales más avanzados.
¿Qué tipo de ordenamiento sigue el Ray Tracing en el proceso de renderizado?
Ordenamiento por píxeles.
¿Qué operación es crucial para optimizar el rendimiento en algoritmos de Ray Tracing?
Intersección rayo-escena.
¿Cuál es el objetivo principal del curso en relación con el Path Tracing?
Adquirir conocimiento para desarrollar tu propio Path Tracer.

Preguntas tipo test

  1. ¿Cuál es el objetivo principal de desarrollar un path tracer, según lo mencionado en las conclusiones?
    • a) Adquirir conocimiento teórico y práctico para crear imágenes fotorrealistas.
    • b) Optimizar el rendimiento de los algoritmos de ray tracing.
    • c) Simplificar la implementación de efectos visuales avanzados.
    • d) Explorar técnicas de intersección rayo-superficie.

    Respuesta: a) Adquirir conocimiento teórico y práctico para crear imágenes fotorrealistas.. El objetivo principal es adquirir el conocimiento teórico y práctico necesario para desarrollar tu propio path tracer, lo que implica la capacidad de crear imágenes con un alto grado de realismo.

  2. ¿Cuál de los siguientes algoritmos de ray tracing NO fue mencionado como uno de los algoritmos con complejidad creciente?
    • a) Ray Casting
    • b) Recursive Ray Tracing
    • c) Photon Mapping
    • d) Path Tracing

    Respuesta: c) Photon Mapping. Los algoritmos mencionados en orden de complejidad creciente son Ray Casting, Recursive Ray Tracing, Distribution Ray Tracing y Path Tracing. Photon Mapping no se menciona en esta progresión.

  3. ¿Qué operación es fundamental para disminuir el tiempo computacional en el ray tracing, según las conclusiones?
    • a) Aumentar la resolución de la imagen.
    • b) Optimizar la intersección rayo-escena.
    • c) Simplificar los modelos de iluminación.
    • d) Reducir el número de rayos lanzados.

    Respuesta: b) Optimizar la intersección rayo-escena.. La intersección rayo-escena es la operación más frecuente en el ray tracing. Mejorar este aspecto es crucial para reducir el tiempo de cálculo.

Y 13 flashcards y 26 preguntas más en el documento.

Texto del documento

Advanced Computer Graphics (ACG) Theory Session 2 - Basic Ray Tracing 2025-2026 Pompeu Fabra University Ricardo Marques (ricardo.marques@upf.edu) Calendar 2025-2026 ACG - ricardo.marques@upf.edu 2 Week no.

Date Theory Practice Seminar Deliveries Week 1 25 Sep 26 Sep T1: Introduction - Week 2 29 Sep 03 Oct T2: Basic Ray Tracing P1: Introduction to A1.1 - Week 3 06 Oct 10 Oct T3: Ray Casting, Recursive Ray Tracing - S1: Work on A1 Week 4 13 Oct 17 Oct T4: Rendering Equation, Monte Carlo Integration and Direct Illumination T5: Indirect Illumination and Path Tracing P2: Introduction to A1.2 - Week 5 20 Oct 24 Oct T6: Volume Rendering: Absorption-Only Model - S2: Work on A1 D.A1 (26/10) Week 6 27 Oct 31 Oct T7: Volume Rendering: Emission, Absorption and Scattering Model T8: Neural Radiance Fields and Topics' Presentation P3: Introduction to A2.1 - Week 7 03 Nov 07 Nov T9: Midterm - S3: Work on A2 Week 8 10 Nov 14 Nov P4: Introduction to A2.2 S4: Work on A2 Week 9 17 Nov 21 Nov T10: 1st Presentation P5: Work on A2 - D.A2 (23/11) Week 10 24 Nov 28 Nov P6: Work on FP S5: Work on FP Week 11 01 Dec 05 Dec T11: 2nd Presentation (First Session) T12: 2nd Presentation (Second Session) - - D.FP (02/12) Outline Part I - Overview of Ray Tracing Algorithms Ray Tracing: Intuition Ray Casting (Apple, 1964) Recursive Ray Tracing (T.

Whitted, 1980) Distribution Ray Tracing (Cook, 1984) Path Tracing (Kajiya, 1986) Part II – Ray-Object Intersection Ray-plane intersection Ray-triangle intersection 2025-2026 ACG - ricardo.marques@upf.edu 3 Part I Overview of Ray Tracing Algorithms 2025-2026 ACG - ricardo.marques@upf.edu 4 Ray Tracing: Intuition ACG - ricardo.marques@upf.edu 2025-2026 5 Problem Set-Up 2025-2026 6 ACG - ricardo.marques@upf.edu 2024-2025 6 ACG - ricardo.marques@upf.edu Rasterization ACG - ricardo.marques@upf.edu 2025-2026 7 Rasterization ACG - ricardo.marques@upf.edu 2025-2026 8 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 9 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 10 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 11 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 12 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 13 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 14 Rasterization 2025-2026 ACG - ricardo.marques@upf.edu 15 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 16 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 17 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 18 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 19 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 20 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 21 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 22 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 23 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 24 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 25 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 26 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 27 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 28 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 29 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 30 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 31 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 32 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 33 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 34 Ray Tracing 2025-2026 ACG - ricardo.marques@upf.edu 35 In Perspective: Rasterization vs Ray Tracing Rasterization Loop For each triangle t { For each pixel p { t covers p ?

{ Save color if closer } } } Ray Tracing Loop For each pixel p (ray r) { For each triangle t { r intercepts t ? { Save color if closer } } } 2025-2026 ACG - ricardo.marques@upf.edu 37 Ray Casting Apple, 1968 2025-2026 ACG - ricardo.marques@upf.edu 38 Modeling Light: Key Ideas Three basic ideas about light rays: 1. Light travels in a straight line 2. Light rays do not interact with each other 3.

Light travels from light sources to the eye, but physics is invariant to the reversal of the direction of propagation – reciprocity) 2025-2026 ACG - ricardo.marques@upf.edu 39 A ray is a semi-infinite defined by an origin and a direction vector (Parametric) ray equation: = + , 0 < is the "ray parameter" (scalar) and yields the position along the ray Ray Equation 2025-2026 ACG - ricardo.marques@upf.edu 40 Ray Casting Apple 1968 – Ray Casting 1. Synthesize an image by sending one ray per pixel 2.

Determine shadows by sending a shadow ray the light source 2025-2026 ACG - ricardo.marques@upf.edu 41 Ray Casting – Visibility View Point Image Plane Point Light Source Closest Intersection Point Other Intersection Points Camera Ray ACG - ricardo.marques@upf.edu 2025-2026 42 Ray Casting – Shading (Local) View Point Image Plane Point Light Source Shade the visible point to determine the pixel color Shadow Ray ACG - ricardo.marques@upf.edu 2025-2026 43 ACG - ricardo.marques@upf.edu 2025-2026 44 Discussion: Ray Casting vs Rasterization Recall: Rasterization: project triangle onto the screen, rasterize pixels Ray Casting: shoot rays through pixels, intercept triangles Topics of Discussion: Will they produce the same image?

Which algorithm is faster? Under what conditions? Other advantages and/or disadvantages? When would you use one or the other algorithm, and why? 2025-2026 ACG - ricardo.marques@upf.edu 45 Recursive Ray Tracing T.

Whitted, 1980 2025-2026 ACG - ricardo.marques@upf.edu 46 Recursive Ray Tracing Viewpoint Image plane Point Light source 2025-2026 ACG - ricardo.marques@upf.edu 47 Recursively trace secondary rays until a non-specular surface is hit At each intersection point, evaluate light sources visibility (no contribution if occluded) Final pixel color results from all light contributions along the paths Allows simulating specular reflections and transmissions Recursive Ray Tracing "An improved Illumination model for shaded display", T. Whitted, CACM 1980 Runtime: VAX 11/780 (1979) 74m PC (2006) 6s GPU (2012) 1/30s Spheres and Checkerboard, T.

Whitted, 1980 2025-2026 ACG - ricardo.marques@upf.edu 48 ACG - ricardo.marques@upf.edu 2025-2026 49 Distribution (Stochastic) Ray Tracing Cook, 1984 2025-2026 ACG - ricardo.marques@upf.edu 50 Distribution (Stochastic) Ray Tracing Key idea: Shoot several secondary rays instead of shooting a single reflection ray The contribution of the different secondary rays is averaged Enables several interesting light effects: Soft shadows (umbra and penumbra) Glossy materials (somewhere in-between diffuse and mirror) Motion blur, depth of field More rays need to be shot slower 2025-2026 ACG - ricardo.marques@upf.edu 51 Distribution Ray Tracing – Soft Shadows 2025-2026 ACG - ricardo.marques@upf.edu 52 Area Light Source Distribution Ray Tracing – Soft Shadows 2025-2026 ACG - ricardo.marques@upf.edu 53 Image from Interactive Distribution Ray Tracing (Boulos et al., 2006) Distribution Ray Tracing – Glossy Materials 2025-2026 ACG - ricardo.marques@upf.edu 54 V-Ray Materials Motion Blur ACG - ricardo.marques@upf.edu Arises when capturing a photograph of a scene with objects in movement The moving objects seem stretched and undefined in the final image Reason: the position of the objects changed during the recording of the photograph (i.e., during exposure time) This effect can be simulated with ray tracing by sampling the scene at different times 2025-2026 55 Image from Peter Shirley's Graphics Blog Caused by the use of a camara lens Only the objects within a certain distance range are properly focused Objects before and after this range take a blurry aspect This effect can also be simulated using ray tracing More details here if you're curious (Chapter 11 of P.

Shirley's book "Ray Tracing in One Weekend") 2025-2026 ACG - ricardo.marques@upf.edu 56 Image from Peter Shirley's Graphics Blog Depth of Field Path Tracing Kajiya, 1986 2025-2026 ACG - ricardo.marques@upf.edu 57 Path Tracing Key ideas Trace random paths from the camera throughout the scene The paths can have a varying number of segments and do not end when a diffuse material is hit Several paths are generated for each pixel The paths' contribution is averaged to get the final pixel color Generalized the previous rendering algorithms into a single framework Based on the Rendering Equation (Kajiya, 1986) 2025-2026 ACG - ricardo.marques@upf.edu 58 Path Tracing 2025-2026 ACG - ricardo.marques@upf.edu 59 Image from ACCA Software 2025-2026 ACG - ricardo.marques@upf.edu 60 Summary We have seen several ray tracing-based algorithms with increasing complexity Ray Casting (Apple, 1968) Recursive Ray Tracing (T.

Whitted, 1980) Distribution Ray Tracing (Coock, 1984) Path Tracing (Kajiya, 1986) Our goal Acquire the theoretical and practical knowledge for developing your own path tracer This session: ability to perform ray-surface intersection (Part II of this lecture) 2025-2026 ACG - ricardo.marques@upf.edu 61 Part II (Pause) Ray-Surface Intersection 2025-2026 ACG - ricardo.marques@upf.edu 62 Introduction and Motivation 2025-2026 ACG - ricardo.marques@upf.edu 63 Motivation 3D scene objects typically represented by (triangle) meshes Set of triangles that approximate a real-world shape The larger the number of triangles, the more precise the shape approximation Ray tracing requires ray-object (thus, ray-mesh) intersection tests Visibility, shaddows, illumination…

Idea: simply intersect the ray with each triangle of the mesh Simple, but slow… 2025-2026 ACG - ricardo.marques@upf.edu 64 Image from Berkeley CS184/284A Exercise 1 (to be worked on later) Consider the mesh associated to a solid tetrahedral object whose vertices are at the coordinates = (4, 4, 4), = (7, 4, 4), = (4, 8, 4) and = (4, 4, 9). A camera is located at the position = (2, 2, 2.5). 1. Define the four triangles of the mesh with its correct orientation 2. Build the corresponding four outer normals 3. Consider a ray with origin and direction = (0.57711, 0.69253, 0.43283).

Without explicitly computing the inside/outside triangle test, determine the eventual intersections of the ray with the triangles of the mesh. 4.

Using the inside/outside triangle test, show that the intersection point between the ray and the plane containing the triangle BAD is outside the triangle BAD 2025-2026 ACG - ricardo.marques@upf.edu 65 Ray-Plane Intersection 2025-2026 ACG - ricardo.marques@upf.edu 66 Plane Equation A plane is defined by a normal vector ( ) and a point in the plane ( ) Example: Plane Equation: = 0 + + = 0 67 2025-2026 ACG - ricardo.marques@upf.edu Ray-Plane Intersection Ray equation = + , 0 < Plane equation = 0 Compute the ray-plane intersection We write = ( ), and determine = + = 0 = , verify that 0 < 68 2025-2026 ACG - ricardo.marques@upf.edu Ray-Triangle Intersection 2025-2026 ACG - ricardo.marques@upf.edu 69 Ray-Triangle Intersection Observation: a triangle is always contained within a plane Split the problem to have a two-step solution Step 1: Compute the intersection of the ray with the plane containing the triangle We already know how to do this…

do we? Step 2: Determine whether the intersection point is inside or outside the triangle 70 2025-2026 ACG - ricardo.marques@upf.edu Plane Containing the Triangle Consider a triangle with vertices , and Recall the plane equation = 0 Need and Point of the plane can be any of the triangle vertices Recall the the plane contains the triangle What about the normal ? Can be obtained using the cross (or vectorial) product, s.t. = × Right-hand rule: the order matters! 2025-2026 ACG - ricardo.marques@upf.edu 71 Inside/Outside Triangle Test (2D) How to determine whether the point is inside or outside the triangle?

Recall the 2D inside/outside test from the Computer Graphics course Consider the following triangle and its edges Step 1: Build normal (perpendicular) vector to each triangle edge, pointing inwards Step 2: Use the dot product to check whether the point is on the "good" side of the edge If the dot product is smaller than zero, then the point is outside the triangle 2025-2026 ACG - ricardo.marques@upf.edu 72 1 Inside/Outside Triangle Test (3D) Extend the 2D inside/outside test to 3D Step 1: Build a normal to each side of the triangle pointing inwards using vector products Step 2: Use the normals to check "In Triangle".

The following scalar products should all be positive: 2025-2026 ACG - ricardo.marques@upf.edu 73 1 = × ( 2 1) 2 = × ( 3 2) 3 = × ( 1 3) 1 2 3 1 ( 1) × ( 2) × ( 3) Exercise 1 Consider the mesh associated to a solid tetrahedral object whose vertices are at the coordinates = (4, 4, 4), = (7, 4, 4), = (4, 8, 4) and = (4, 4, 9). A camera is located at the position = (2, 2, 2.5). 1. Define the four triangles of the mesh with its correct orientation 2. Build the corresponding four outer normals 3. Consider a ray with origin and direction = (0.57711, 0.69253, 0.43283).

Without explicitly computing the inside/outside triangle test, determine the eventual intersections of the ray with the triangles of the mesh. 4. Using the inside/outside triangle test, show that the intersection point between the ray and the plane containing the triangle BAD is outside the triangle BAD 2025-2026 ACG - ricardo.marques@upf.edu 75 Ray Tracing: Performance Challenges Basic ray-scene intersection: Test intersection with all the scene objects How costly is this? #intersection tests #pixels 106 x #triangles (?) How many triangles on a complex scene?

76 2025-2026 ACG - ricardo.marques@upf.edu 2025-2026 ACG - ricardo.marques@upf.edu 77 San Miguel's Scene, 10.7M triangles 2025-2026 ACG - ricardo.marques@upf.edu 78 Plant Ecosystem, 20M triangles Ray Tracing: Performance Challenges Basic ray-scene intersection: Test intersection with all the scene objects How costly is this? #intersection tests #pixels ~106 x #triangles ~106 Problem! Extremely computing-intensive approach Needs improvement Suggestions?

79 2025-2026 ACG - ricardo.marques@upf.edu Conclusion 2025-2026 ACG - ricardo.marques@upf.edu 80 Take-Away Messages Ray Tracing and Rasterization – Two distinct approaches to rendering Ray-Tracing: pixel-ordered Rasterization: object-ordered Ray Tracing can lead to more advanced visual effects at the cost of more computations The most frequent ray racing operation is ray-scene intersection, so if we want to decrease the computational time, we must improve this aspect More details next class, but think about possible ideas 2025-2026 ACG - ricardo.marques@upf.edu 81 Calendar 2025-2026 ACG - ricardo.marques@upf.edu 82 Week no.

Date Theory Practice Seminar Deliveries Week 1 25 Sep 26 Sep T1: Introduction - Week 2 29 Sep 03 Oct T2: Basic Ray Tracing P1: Introduction to A1.1 - Week 3 06 Oct 10 Oct T3: Ray Casting, Recursive Ray Tracing - S1: Work on A1 Week 4 13 Oct 17 Oct T4: Rendering Equation, Monte Carlo Integration and Direct Illumination T5: Indirect Illumination and Path Tracing P2: Introduction to A1.2 - Week 5 20 Oct 24 Oct T6: Volume Rendering: Absorption-Only Model - S2: Work on A1 D.A1 (26/10) Week 6 27 Oct 31 Oct T7: Volume Rendering: Emission, Absorption and Scattering Model T8: Neural Radiance Fields and Topics' Presentation P3: Introduction to A2.1 - Week 7 03 Nov 07 Nov T9: Midterm - S3: Work on A2 Week 8 10 Nov 14 Nov P4: Introduction to A2.2 S4: Work on A2 Week 9 17 Nov 21 Nov T10: 1st Presentation P5: Work on A2 - D.A2 (23/11) Week 10 24 Nov 28 Nov P6: Work on FP S5: Work on FP Week 11 01 Dec 05 Dec T11: 2nd Presentation (First Session) T12: 2nd Presentation (Second Session) - - D.FP (02/12) Credits Thank you to Josep Blat for making available the slides for ACG (2023) The Ray-Tracing Algorithms' slides and images are inspired on the NVidia's Ray- Tracing Essentials series (Eric Haines) Several slides and images on ray-object intersection are from Berkeley's CS184/284A (excellent) course on Computer Graphics 2025-2026 ACG - ricardo.marques@upf.edu 83 The End Questions?

2025-2026 ACG - ricardo.marques@upf.edu 84

Exámenes, temas y apuntes de Gráficos por Ordenador