CLÚSTER DE RENDERIZADO PARA LA GENERACIÓN DE MODELOS TRIDIMENSIONALES

CLÚSTER DE RENDERIZADO PARA LA GENERACIÓN DE MODELOS TRIDIMENSIONALES

Omar Ordóñez Toledo (CV)
Universidad TECMilenio

Volver al índice

Variables de Estudio

Identificación de variables potenciales

A continuación se presenta el conjunto de variables que son consideradas como relevantes para la solución del problema de estudio, por considerarse factores potenciales en el tiempo de renderizado.
Dentro del marco teórico y planteamiento del problema encuentro que tengo definido que la mejora de procesos en renderizado es una variable dependiente de varios factores, por lo tanto la variable dependiente que defino es:
Y= Tiempo de Renderizado
Así mismo encontré que tenemos diferentes aspectos que inciden para mejorar los procesos de renderizado de imágenes y que estos puedan optimizar el tiempo que tarda en realizar dicho render. En la siguiente tabla se presenta la frecuencia con que diversos autores e investigaciones previas hacen mención de cada variable como una causa potencial del problema en cuestión:
A continuación, se presenta de forma gráfica mediante un Diagrama de Pareto las variables independientes seleccionadas para realizar la investigación.
En seguida, se demuestra el fundamento teórico de cada una de las variables independientes seleccionadas, con el fin de sustentar teóricamente su importancia y peso dentro de la investigación de manera que se justifique de manera clara la elección de cada variable.

3.2 Desarrollo teórico de variables potenciales

En seguida, se presenta el fundamento teórico de cada una de las variables independientes seleccionadas, con el fin de sustentar teóricamente su importancia y peso dentro de la investigación de manera que se justifique de manera clara la elección de cada variable.

3.2.1. Motor de renderizado

Software que se encarga de interpretar y representar contenido, en el caso de  animación 3D, consiste en tomar un modelo virtual en 3D dimensiones, colocar las cámaras objetivo, y mediante una configuración previa de iluminación y materiales de la escena, la computadora RENDERIZA, todos los cálculos de rebotes de luz en los materiales, entregándonos una imagen “Real” lo más parecida a la física que tenia cada material en la escena, el tiempo de demora de cada Render dependerá del procesador que se utilice. (Noticias3D, 2010).
Para fines de realizar pruebas de renderizado con los distintos modelos 3D, se eligió utilizar dos motores de renderizado el primero es V-Ray.
V-Ray motor de render para el procesado de escenas con un alto nivel de realidad. Un motor de render que ofrece los recursos necesarios para aplicar a las escenas materiales avanzados y fuentes de iluminación global, este motor de render permite aplicar a los modelos 3D todo tipo de materiales de carácter avanzado: reflexiones y refracciones, soluciones borrosas, materiales con iluminación propia, elementos traslúcidos (ropa o papel) o utilizar texturas de dispersión, este motor de render tiene gran potencial a la hora de calcular la iluminación de las escenas, pues permite trabajar con iluminación global, luces indirectas, mapas irradiantes, luces cáusticas, entre otras fuentes de luz para dar a las escenas un mayor realismo. (Kuhlo, 2010)
El segundo motor de render que se utilizará para realizar pruebas de renderizado es MentalRay, es un motor completo y complejo que calcula desde sombras simples hasta segmentadas, compilación fotónica emitida por luces que se conoce como "Photon Map" y que posee su propio sistema de aceleración, una de sus principales características es que es un software Multiplataforma,  Mental ray es completamente programable mediante shaders (escrito en C o C++). Utiliza Múltiples geometrías: Puede trabajar con polígonos, NURBS y subdivision de surfaces.

3.2.2 Cantidad de Fotogramas

Se denomina frame en inglés, a un fotograma o cuadro, una imagen particular dentro de una sucesión de imágenes que componen una animación. La continua sucesión de estos fotogramas producen a la vista la sensación de movimiento, fenómeno dado por las pequeñas diferencias que hay entre cada uno de ellos.

La frecuencia es el número de fotogramas por segundo que se necesitan para crear movimiento. Su fórmula es la siguiente:
Se expresa en fotogramas o frames por segundo (fps) o en hercios (Hz). Para conseguir que el sistema visual humano vea movimiento hemos de tener en cuenta que:

  • Para no observar parpadeo se ha de tener una frecuencia de fotograma > 50 Hz.
  • La discontinuidad de movimiento tiene una frecuencia de fotograma < 12–15 Hz.

Las frecuencias de fotograma de algunos de los sistemas más conocidos son las siguientes:

  • Cine mudo = 16–18 Hz.
  • Cine = 24 Hz.
  • Televisión, normas europeas (PAL & SECAM) = 25 Hz.
  • Televisión, norma estadounidense (NTSC) = 29,97 Hz.

Estas frecuencias van en relación a la frecuencia de la red eléctrica. En Europa es de 50 Hz, es decir el doble de la frecuencia de la televisión que es de 25 fotogramas cada segundo o, lo que es lo mismo, 25 Hz; en EE.UU. y México es de 60 Hz, el doble de la frecuencia de la televisión que es de 30 fotogramas cada segundo o, lo que es prácticamente lo mismo, 29,97 Hz. (Wikipedia, 2010)

Técnicas de Renderizado

El término gráficos 3D por computadora (3D computer graphics) se refiere a trabajos de arte gráfico que son creados con ayuda de computadoras y programas especiales 3D. En general, el término puede referirse también al proceso de crear dichos gráficos, o el campo de estudio de técnicas y tecnología relacionadas con los gráficos 3D. Un gráfico 3D difiere de uno 2D principalmente por la forma en que ha sido generado. Este tipo de gráficos se originan mediante un proceso de cálculos matemáticos sobre entidades geométricas tridimensionales producidas en una computadora y cuyo propósito es conseguir una proyección visual en dos dimensiones para ser mostrada en una pantalla.
Para generar el renderizado de un modelo 3D, existen varias técnicas dependiendo de los elementos que contenga el modelo, para generar imágenes fotorrealistas se utilizan técnicas denominadas de iluminación global que tratan de simular la luz dispersa en un modelo 3D ateniéndose a las leyes físicas. Estas técnicas calculan el valor de intensidad en cada punto de la escena teniendo en cuenta las interacciones de la luz con los objetos de la escena.
Algunas de las técnicas más utilizadas para el proceso de renderizado son las siguientes:

3.3.4.1. Scanline

Es quizá uno de los métodos de render más básicos y fue introducido por Bouknight en el año 1970.

Algoritmo 1 Bucle general de Scanline.

for all pıxel de la imagen do
línea  ß trazar una línea desde la cámara al pıxel
color  ß Scanline (línea) {Algoritmo 2}
end for

Algoritmo 2 Procedimiento Scanline (línea)

punto  ß encontrar el punto de intersección más cercano
color  ß color de fondo
for all fuente de luz do
color  ß color + illumination directa
end for
Devolver(color)

Una de sus principales ventajas es la rapidez, de hecho, es el método que menos tiempo consume, además, trabaja bien con texturas y simula cualquier tipo de sombreado. Como contrapartida, no permite simular las reflexiones y refracciones de la luz de una manera realista, aunque pueden ser simuladas utilizando técnicas adicionales.

3.3.4.2. Raytracing

Algoritmo 3 Bucle general del Raytracing.

for all pixel de la imagen do
rayo ß trazar un rayo desde la cámara al pixel
color ß Raytracing (rayo) {Algoritmo 4}
end for

Algoritmo 4 Procedimiento Raytracing (rayo)

punto  ß encontrar el punto de intersección más cercano
color  ß color de fondo
for all fuente de luz do
rayo_sombra ß  trazar un rayo desde (punto) hasta la fuente de luz
if el rayo no choca con ningún objeto then
color  ß color + iluminación directa
if el material tiene propiedad de reflexión then
color  ß color + Raytracing (rayo reflejado)
end if
if el material tiene propiedad de refraccion then
color  ß color + Raytracing (rayo transmitido)
end if
else
color  ß negro
end if
end for
Devolver(color)

El método de raytracing o trazado de rayos fue propuesto por Whitted y proporciona un medio sencillo y recursivo de calcular superficies con reflejos y transparencia. La idea, tal y como ya se ha comentado, consiste en trazar rayos desde el observador a las fuentes de luz. En realidad, son las fuentes de luz las que emiten fotones que rebotan en la escena y llegan a los ojos del observador. Sin embargo, sólo una pequeñísima fracción de los fotones llegan a su destino, por lo que el cálculo en esta forma directa resulta demasiado costosa.

Los rayos que se emiten a la escena son evaluados respecto de su visibilidad trazando nuevos rayos desde los puntos de intersección (rayos de sombra). Una descripción básica del trazado de rayos se muestra en los Algoritmos 3 y 4. El raytracing permite simular reflexiones especulares y refracciones pero no está pensado para simular iluminaciones indirectas o sombras difusas.

3.3.4.3. Pathtracing

Supone una extensión al algoritmo de trazado de rayos y fue formulado por Kajiya en 1986. El pathtracing permite calcular la solución completa de la iluminación global. El mecanismo en el que se basa consiste en lanzar rayos para calcular todos los posibles caminos de donde pueda venir la luz.

El muestreo se realiza mediante la integración de Monte Carlo, que consigue crear rayos uniformemente por todos los posibles caminos.

Cuando un rayo choca contra una superficie difusa, en lugar de llamar al procedimiento recursivo con los múltiples rayos que rebotarían en la superficie, se selecciona uno de forma aleatoria.

La utilización de la irradiance cache evita el cálculo de la iluminación global en cada punto del modelo ya que se calculan algunos pixeles y los valores intermedios se interpolan.

3.3.4.4. Photon Mapping

Propuesto por Jensen en 1996, presenta como novedad que desacopla la representación de la iluminación de la geometría. Esta técnica consiste en dos pasos:

    • Construcción de la estructura del mapa de fotones desde las fuentes de luz al  modelo. Para ello, se lanza un gran número de fotones desde las fuentes de luz. Cada uno de estos fotones contiene una fracción de la energía total de la fuente de la que proviene.
    • Se lleva a cabo el proceso de render mediante la utilización de la información contenida en el mapa de fotones. La recuperación de la información del mapa de fotones tiene una complejidad de O(log n) en el caso medio y O(n) en el peor de los casos.

3.3.4.5. Pathtracing Bidireccional

Extensión del pathtracing introducida por Lafortune y Willems que se caracteriza porque también se calculan los caminos desde las fuentes de luz. Aprovecha la idea de que hay ciertos caminos que son más fáciles de trazar desde las fuentes de luz, como por ejemplo el caso de las caústicas. Este método calcula dos caminos, uno que parte desde el punto de observación y otro que parte desde cada fuente. La información obtenida por ambos medios se combina para obtener
los valores de iluminación finales.

Aunque requiere menos muestras que el pathtracing sencillo, el cálculo tarda más debido a que el coste de cada muestra es mayor y hay que añadir el tiempo de combinar los caminos. Efectos como las caústicas se calculan perfectamente.

3.6 Definición de variables

A continuación en la tabla 4.- Definición de Variables se presenta la descripción teórica y operativa del conjunto de variables de estudio consideradas como relevantes que podrían ser causas potenciales del problema.

Hipótesis

4.1 Hipótesis General

Para la disminución del tiempo de renderizado en modelos tridimensionales intervienen factores como el Motor de Renderizado, Cantidad de Fotogramas y Técnicas de Renderizado.

4.2 Hipótesis de Trabajo

De acuerdo con las variables independientes (X) seleccionadas y a su respectivo análisis desde la parte teórica, se presenta a continuación las hipótesis generadas de su relación con la variable dependiente Y= Tiempo de Renderizado.