3.1. Introducción a la Iluminación de EscenasLa simulación del comportamiento de la luz es posiblemente el factor más importante a la hora de conseguir sintetizar una imagen realista. Desde los inicios del estudio de la óptica los físicos han desarrollado modelos matemáticos para estudiar la interacción de la luz en las superficies. Relacionada con la temática de esta sesión del curso (iluminación y texturas) hay una bellísima y electrizante historia de amor, creada en 1998 por Juanma Sánchez, llamada Luxor X, que incluimos a continuación. Player
Con la aparición del microprocesador, los ordenadores tuvieron suficiente potencia como para poder simular estas complejas interacciones. Así, empleando un ordenador y partiendo de las propiedades geométricas y de materiales especificadas numéricamente es posible simular la reflexión y propagación de la luz en una escena. A mayor precisión en esta simulación, mayor nivel de realismo conseguiremos en la imagen resultado. A pesar de que el objetivo parece sencillo, existen algunos problemas y limitaciones importantes. El primero es debido al excesivo coste computacional de los métodos de cálculo más realistas. Para cualquier proyecto real de obtención de una imagen, hay que establecer un límite en el nivel de detalle de la escena que queremos simular, indicados en términos del número de interacciones máximas de la luz con las superficies (rebotes), resolución espacial de la imagen, etc. Esta conexión entre la simulación del comportamiento de la luz y el nivel de realismo queda patente en las aproximaciones propuestas en diferentes métodos de render que estudiaremos con más detalle en la sesión 5 del curso. Una ecuación que modela el comportamiento físico de la luz, ampliamente aceptada por la comunidad, es la propuesta por Kajiya en 1986, donde además proponía el método de PathTracing. De forma general podemos decir a mayor simplificación en la resolución de los términos de esta ecuación tendremos métodos menos realistas (y computacionalmente menos costosos). ![]() Figura 01. Iluminación Local e Iluminación Global. Iluminación Local Vs. Iluminación GlobalA un alto nivel de abstracción, podemos realizar una primera taxonomía de métodos de render entre aquellos que realizan una simulación de iluminación local, teniendo en cuenta únicamente una interacción de la luz con las superficies, o los métodos de iluminación global que tratan de calcular todas las interacciones (rebotes) de la luz con las superficies de la escena. Debido a que es imposible calcular las infinitas interacciones de los rayos de luz con todos los objetos de la escena, las aproximaciones de iluminación global se ocuparán de calcular algunas de estas interacciones, tratando de minimizar el error de muestreo. En la sesión 5 enunciaremos de forma superficial algunas de las técnicas de muestreo que se utilizan en motores de render actuales. ![]() Figura 02. Cornell Box. En la figura 1 se muestra el resultado de renderizar la misma escena con un método de iluminación local y uno global. Los modelos de iluminación global incorporan la iluminación directa que proviene de la primera interacción (rebote) de las partículas de luz con las superficies, así como la iluminación indirecta reflejada por otras superficies existentes en la escena. Blender incorpora en su motor de Render dos métodos que simulan la iluminación global: Radiosidad y Oclusión Ambiental. El método de Radiosidad (Radiosity) es un método de entre superficies difusas, que tiene algunas propiedades muy interesantes que lo hacen muy adecuado en ciertos entornos (vuelos virtuales de cámara donde la posición de los objetos no cambia; por ejemplo, en visualizaciones de infoarquitectura). En la Figura 2 se muestra un ejemplo de cálculo de esta interacción de luz entre superficies difusas, en la famosísima escena de la caja de Cornell (Cornell Box), ampliamente utilizada para demostrar este tipo de características en métodos de render (se puede apreciar que las caras de los cubos que están próximas a las paredes adquieren el color de esa pared; el cubo de la derecha de color verde y el de la izquierda rojo, debido al "rebote" de la luz en la pared y posteriormente en el cubo). El método de emulación de Ambient Occlusion (Oclusión Ambiental), que ofrece una aproximación físicamente incorrecta pero muy efectiva visualmente. Ambos métodos, junto con el uso de motores externos (Yafray y LuxRender) que permiten métodos más avanzados (PathTracing, Mapas de Fotones y Transporte de Luz de Metrópolis) serán estudiados en la quinta sesión del curso. Algunas herramientas y trucos útiles de BlenderEn esta sesión (y en las siguientes) será necesario probar varias alternativas y utilizar frecuentemente el render para visualizar resultados. Para facilitar la tarea, se explicarán a continuación algunas herramientas y trucos útiles de Blender. Parámetros del grupo de botones Render![]() Figura 03. Opciones Render. Aunque se explicará con más detalle en la sesión 5, a partir de esta sesión será conveniente conocer cómo modificar algunos parámetros generales de render en Blender (como resolución, nivel de antialiasing, etc...). En los botones de escena
![]() Figura 04. Oversampling. ![]() Figura 05. Definición de la zona con Border.
En la pestaña Format (ver Figura 3), las opciones más relevantes para las próximas sesiones son:
Modo Preview![]() Figura 06. Render Preview. La previsualización de materiales y texturas en Blender es algo limitada en la ventana 3D. Sin embargo, existen opciones para comprobar cómo quedará el resultado mediante una previsualización rápida, accesible desde la cabecera de la ventana 3D View/ Render Preview o mediante el atajo de teclado Shift P. La ventana de previsualización puede desplazarse en la ventana 3D pinchando y arrastrando con Posicionamiento cómodo de la cámara virtualEn las próximas sesiones resultará interesante poder modificar cómodamente la posición de la cámara virtual para probar diferentes puntos de vista y enfoques. Establecer manualmente la orientación de la cámara (rotación en cada eje) resulta muy tedioso. En la cuarta sesión del curso estudiaremos en detalle el manejo de restricciones. Ahora aprenderemos cómo definir un tipo de restricción Track To. Añadiremos a la escena un objeto Empty (recordemos que no tiene representación en la etapa de Render), mediante Barra Espaciadora Add/ Empty. Hecho esto, seleccionamos primero la cámara Mediante esta restricción, podemos desplazar el Empty y la cámara siempre apuntará hacia donde esté colocado. También podemos mover la cámara empleando diferentes vistas para conseguir el punto de vista adecuado. Al principio del siguiente video se posiciona la cámara como se ha realizado hasta ahora, mediante rotaciones y desplazamientos Player
|