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

Marco teórico

2.1 Conceptos Generales de Renderizado

En esta sección se presentan algunos conceptos y definiciones relacionados con el tema de renderizado de imágenes para su mejor comprensión. A continuación se transcriben algunas de las definiciones que se acercan a la idea del significado de renderizado:

2.1.1 Renderizado es un término usado en informática para referirse al proceso de generar una imagen desde un modelo tridimensional. Este término técnico es utilizado por los animadores o productores audiovisuales y en programas de diseño en 3D.
En términos de visualizaciones por medio de una computadora, más específicamente en 3D, la renderización es un proceso de cálculo complejo desarrollado por una computadora destinado a generar una imagen 2D a partir de una escena 3D. La traducción más fidedigna es interpretación, aunque se suele usar el término inglés. Así podría decirse que en el proceso de renderización la computadora interpreta la escena en tres dimensiones y la plasma en una imagen bidimensional, mediante el procesamiento de cálculo de la computadora. (MEDIAactive, 2009)
Según Castell Cebolla, autor del libro 3D Studio Max; La renderización se aplica en la computación gráfica, más comúnmente a la infografía. En infografía este proceso se desarrolla con el fin de imitar un espacio 3D formado por estructuras poligonales, comportamiento de luces, texturas, materiales (agua, madera, metal, plástico, tela, etcétera) y animación, simulando ambientes y estructuras físicas verosímiles. Una de las partes más importantes de los programas dedicados a la infografía son los motores de renderizado, los cuales son capaces de realizar técnicas complejas como radiosidad, raytrace (trazador de rayos), canal alfa, reflexión, refracción o iluminación global. (Castell, 2006)
Carlos González Morcillo, Catedrático de la Escuela Superior de Informática, de la Universidad de Castilla, España; presenta la siguiente definición: La etapa de render toma como entrada los elementos definidos en las fases anteriores (Modelado, Materiales y Texturas, Iluminación y Animación) y produce como salida una imagen bidimensional que representa a la escena. Dependiendo de la Técnica de Renderizado o  método de generación, la simulación de la luz se realizará de una forma más o menos realista. El nivel de realismo va típicamente relacionado con el tiempo de cómputo y por el motor de render que se utilice. (González, 2009)
El diccionario de Informática ALEGSA.com.ar. Define el renderizado como: (Del inglés rendering, renderizar, renderizado, renderización o interpretación en español). La renderización es el proceso de generar una imagen (imagen en 3D o una animación en 3D) a partir de un modelo, usando una aplicación de computadora.
El modelo es una descripción en tres dimensiones de objetos en un lenguaje o estructura de datos estrictamente definidos. El modelo debería contener geometría, punto de vista, textura e información de iluminación. La imagen resultado de la renderización es una imagen digital.
La renderización se utiliza en la producción de imágenes en 3D para juegos, diseño computacional, efectos especiales del cine y la TV, etc. En el caso de los gráficos en 3D, el renderizado puede hacerse lentamente (pre-renderizado) o en tiempo real.
El pre-renderizado es un proceso computacional intensivo que es utilizado generalmente para la creación de películas y su resultado es de altísima calidad. Además, en el prerenderizado, todos los movimientos y cambios en las escenas en 3D ya fueron prefijados antes del inicio de la renderización.
En cambio, el renderizado en tiempo real es más usado en los juegos en 3D y suele procesarse a través de tarjetas aceleradoras de 3D, por ser un proceso sumamente pesado. En este caso, todos los movimientos y cambios en la escena son calculados en tiempo real, pues los movimientos del jugador no son predecibles.
Son millones los cálculos matemáticos que deben realizarse para procesar un modelo en 3D y resultar en una imagen renderizada. En general, en el proceso de cálculo se pueden tener en cuenta tonalidades, texturas, sombras, reflejos, transparencias, translucidez, refraxiones, iluminación (directa, indirecta y global), profundidad de campo, desenfoques por movimiento, ambiente, etc. Además a todo eso hay que agregarle los distintos objetos poligonales en 3D de la escena.
Todos estos cálculos producen una simple imagen final. Por esta razón el proceso de creación de películas en 3D, necesita mucho tiempo y gran capacidad de procesamiento computacional. Un sólo segundo de película suele estar constituido por 24 cuadros de imagen. (ALEGSA.com.arg, 2010)
El término de Motor de renderizado también se utiliza en los navegadores WEB y está definido como; la parte de un navegador que toma el contenido marcado, (como XML o HTML), lo interpreta de manera visual y lo presenta visualmente a los usuarios. Todos los navegadores web incluyen algún motor de renderizado. El término motor de renderizado, (layout engine o rendering engine en ingles), se hizo popular cuanto Mozilla, desarrolló el suyo de manera libre y diferenciado del propio navegador, siendo posible de esta manera reutilizarlo para otros navegadores. Uno de los motores más importantes es: Gecko es un motor multiplataforma y libre originalmente desarrollado por Netscape. Actualmente su desarrollo es gestionado por la Fundación Mozilla. (López, 2010)
2.2.2. Parámetros de render: Conjunto de características definidas por cada software o técnica de render que especifican ciertos aspectos relativos a su implementación. Estas características afectan en gran medida al tiempo requerido por el proceso de render y a la calidad del resultado obtenido. Aunque existen ciertas características cuyo significado es ampliamente aceptado, cada software particular define un conjunto propio de parámetros y el significado completo de cada uno de ellos es muy dependiente de cada implementación en particular, dependiente del número de muestras por píxel o profundidad en la recursividad para rayos de iluminación directa o indirecta. (video2brain, 2011).

2.2.3. Animación: Se refiere al proceso en el cual cada fotograma de una película es producido y generado individualmente, ya sea como gráfico de computadora o mediante la fotografía de una imagen dibujada, o imprimiéndole una secuencia de movimientos a un modelo y retratando aparte cada uno de estos mínimos movimientos. Cuando los fotogramas son proyectados a una velocidad de 16 o más cuadros por segundo, aparece la ilusión de un movimiento continuo, debido a la persistencia de la visión. La animación es un proceso meticuloso y difícil, que se ha aligerado con el desarrollo de la computación aplicada a esta área. (Alegsa, 2011)
2.2.4. Fotograma: es cada una de las imágenes impresionadas químicamente en la tira de celuloide del cinematógrafo o bien en la película fotográfica; por extensión también se llama de ese modo a cada una de las imágenes individuales captadas por cámaras de video y registradas analógica o digitalmente. Cuando una secuencia de fotogramas es visualizada de acuerdo a una determinada frecuencia de imágenes por segundo se logra generar la sensación de movimiento en el espectador. (ABC, 2007).
2.2.5. Gráficos de computadora (Computer Graphics, CG): Es el campo de la computación visual donde se utilizan computadoras para generar imágenes sintéticamente o para integrar las muestras de la información visual o espacial tomadas del mundo real. Los gráficos de computadora pueden expresarse en dos o en tres dimensiones: en el caso de los segundos, son los llamados, en inglés, 3D Computer Graphics, que requieren de programas especiales. Los gráficos de computadora bidimensionales son los que comprenden imágenes digitales de modelos geométricos, textos e imágenes bidimensionales en general. (Fetter, 2005)
2.2.6. Imagen Fotorrealistas: imagen generada por computadora que trata de imitar las imágenes generadas por cámaras fotográficas mediante complejos cálculos y algoritmos matemáticos que simulan los efectos/defectos que la luz (halos, destellos) las sombras (coloreado de sombras, difusión), las texturas (aspereza, brillo, reflejos, refracción) y la radiosidad (coloreado de la luz ambiente) producen en las imágenes resultantes. (Wikipedia, Imgen Fotorrealista, 2011)

2.2.7. Modelado: La etapa de modelado consta de ir dando forma a objetos individuales que luego serán usados en la escena. Existen diversas técnicas de modelado; Constructive Solid Geometry, modelado con NURBS y modelado poligonal son algunos ejemplos. Los procesos de modelado puede incluir la edición de la superficie del objeto o las propiedades del material (color, luminosidad, difusión, especularidad, características de reflexión, transparencia u opacidad, o el índice de refracción), agregar texturas, mapas de relieve (bump-maps) y otras características.
El proceso de modelado puede incluir algunas actividades relacionadas con la preparación del modelo 3D para su posterior animación. A los objetos se les puede asignar un esqueleto, una estructura central con la capacidad de afectar la forma y movimientos de ese objeto. Esto ayuda al proceso de animación, en el cual el movimiento del esqueleto automáticamente afectara las porciones correspondientes del modelo. El modelado puede ser realizado por programas dedicados (Lightwave, Rhinoceros 3D, Maya) (Serrano, 2011)
2.2.8. Modelos 3D: Desde un punto de vista visual, es una representación esquemática visible a través de un conjunto de objetos, elementos y propiedades que, una vez procesados (renderización), se convertirán en una imagen 3D o una animación 3D. (Serrano, 2011)
2.2.9. Recorrido Virtual: Los recorridos virtuales son una forma fácil e interactiva de ver un espacio en todas las direcciones con sólo mover el Mouse ratón, por medio de las "fotografías panorámicas esféricas", que permiten observar el espacio fotografiado en 360ºx180º. (Gonzalez, 2009)

2.2.10. Plug-in: Programa que puede anexarse a otro para aumentar sus funcionalidades (generalmente sin afectar otras funciones ni afectar la aplicación principal). No se trata de un parche ni de una actualización, es un módulo aparte que se incluye opcionalmente en una aplicación, en este caso es aplicable a los distintos motores de render que existen. (Techterms, 2009) .

2.2.11. Parámetros de render: Conjunto de características definidas por cada software de render que especifican ciertos aspectos relativos a su implementación. Estas características afectan en gran medida al tiempo requerido por el proceso de render y a la calidad del resultado obtenido. Aunque existen ciertas características cuyo significado es ampliamente aceptado, cada software particular define un conjunto propio de parámetros y el significado completo de cada uno de ellos es muy dependiente de cada implementación en particular.