5.2. Trazado de RayosEl 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. ![]() Figura 01. Esquema de funcionamiento del RayTracing. 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:
Utilización de RayTracing en BlenderEn la tercera sesión del curso (apartado 3.4) ya estudiamos el uso de RayTracing para calcular reflexiones realistas en los materiales. Recordemos que simplemente es necesario activar el botón Ray de la pestaña de Render del grupo de botones de Render ![]() Figura 02. Resolución del Octree. Para mejorar los tiempos de render en RayTracing se emplean estructuras de datos para calcular de una forma más eficiente la intersección rayo-objeto. Una de estas estructuras son los árboles octales (Octree), en los que cada nodo del árbol tiene hasta ocho hijos (que subdividen el espacio del nodo padre). Este tipo de árbol se emplean frecuentemente para particionar el espacio 3D. En la lista desplegable situada en la parte inferior de la pestaña Render (ver Figura 2) es posible elegir la resolución del Octree. Es conveniente utilizar valores mayores para escenas geométricamente complejas (muchas caras poligonales). Es conveniente, en el caso de emplear RayTracing en animaciones, realizar pruebas en varios frames con diferentes resoluciones del Octree para comprobar qué configuración nos da mejores resultados. La resolución del Octree no tiene efecto sobre la calidad del render, únicamente sobre el tiempo invertido en el cálculo del render.
|