Trazado de Rayos
El método de trazado
de rayos propuesto por Whitted como mejora del método
de Ray Casting es una alternativa elegante y sencilla que
permite calcular de una forma unificada la reflexión y la refracción de la luz,
sombras, eliminación de superficies ocultas y otros efectos necesarios para
conseguir escenas fotorrealistas. De este método surgieron aproximaciones más
completas que resolvían de forma más exacta la ecuación de render, basándose en
los mismos principios de trazado de los caminos que sigue la luz. Por esta
razón, prestaremos especial atención a la descripción de este método.
La idea básica del trazado de rayos es seguir el
camino de la luz desde las fuentes emisoras de fotones hasta que llegan a la
posición del observador. La simulación del camino natural de la luz presenta el
principal inconveniente de que la mayoría de los rayos nunca llegan al
observador (o plano de imagen), lo que resulta computacionalmente prohibitivo.
Este es el esquema de trazado de rayos hacia delante (forward RayTracing).
Para evitar trazar un número alto de rayos que no
llegarán al plano imagen, y como solución sencilla a la discretización del
espacio continuo en píxeles, se emplea el trazado de rayos hacia atrás (backward
RayTracing), donde los rayos parten del plano imagen hasta alcanzar los
objetos de la escena. La Figura 1 muestra un esquema general de los componentes
básicos que forman un trazador de rayos hacia atrás.
Una de las principales características del método
de RayTracing es el cálculo recursivo de la contribución de la luz debido a la
reflexión y refracción que se produce en ciertas superficies. Así, definimos
cuatro tipos de rayos:
- Rayos Primarios o Visuales (V): Son los rayos que parten de la
cámara virtual, pasando por cada uno de los píxeles en el plano de imagen.
Para cada elemento de la escena se comprueba si el rayo visual intersecta
con alguno de ellos, quedándonos con el punto de intersección más cercano
de toda la lista de objetos.
- Rayos de Sombra (S): Parten del punto de intersección
con el objeto y tienen dirección hacia las fuentes de luz. De nuevo se
realiza una prueba de intersección del rayo con todos los objetos de la
escena para ver si hay algún objeto que corte su trayectoria, en cuyo caso
el punto de origen del rayo estaría en sombra.
- Rayos Reflejados (R): Si el objeto donde intersectó el
rayo tiene propiedades de reflexión de tipo espejo, se generará un nuevo
rayo reflejado en ese punto. Este rayo se construirá típicamente en un
procedimiento recursivo, pasando a comportarse como un rayo primario en la
siguiente iteración del algoritmo.
- Rayo Transmitidos (T): En el caso de objetos en mayor o
menor grado transparentes, y de forma análoga al tratamiento para los
rayos reflejados, se generará un rayo transmitido. De igual forma, este
nuevo rayo se comportará como un rayo primario en la siguiente iteración
del algoritmo.
No hay comentarios:
Publicar un comentario