Granjas de render

Granjas de render
Información sobre la plantilla
GranjaR.jpeg

Granja de render, es una agrupación de varias computadoras repartiéndose el trabajo de renderizar las imágenes o animaciones realizadas con un programa de tridimensional.

Características

En la actualidad, la realidad virtual se ha convertido en uno de los elementos más importantes en la industria del cine, gracias a ello, se puede apreciar en una pantalla, la simulación de un mundo real a través de uno virtual.

El renderizado de animaciones en tres dimensiones necesita una gran capacidad de cálculo, pues requiere simular procesos físicos complejos, a esto se debe el elevado tiempo que tardan estas producciones en ser completadas. Las granjas de render han surgido como alternativa y solución para este problema.

Intoducción

La realidad virtual, es la modelación y simulación de un ambiente real o imaginario, que puede ser experimentado visualmente en tres dimensiones, proporciona una experiencia interactiva, de percepción táctil, sonora y de movimiento. Es crear un ambiente con diferentes objetos, que brinde la posibilidad de observar entornos que han sido creados con el propósito de permitir a las personas entrar en un mundo artificial e incursionar en ellos hasta donde el límite de su imaginación se lo permita.

La creación de un ambiente tridimensional generado por computadoras, es una de las características de la realidad virtual. Los gráficos en tres dimensiones son creados por medio de un proceso de cálculos matemáticos sobre formas geométricas originadas con la ayuda de programas especiales 3D como Maya, K-3D, Blender, etc, cuya actividad es el acto de la concepción, diseño y comunicación visual del mundo real en imágenes tridimensionales. Para la creación de los gráficos 3D se deben tener en cuenta las siguientes fases: modelado, texturizado, iluminación, animación y renderizado.

Esta última fase se refiere al proceso de generar una imagen 2D a partir de una escena creada, por la gran cantidad de cálculos que requiere este proceso, ha sido necesario considerar repartir el mismo en varios ordenadores, disminuyendo de esta forma el tiempo de generación de los gráficos 3D, a esto se le conoce como distribución del renderizado, las aplicaciones que realizan esta tarea se denominan granjas de render.

Desarrollo

Proceso de creación de gráficos tridimensionales

El proceso de creación de los gráficos 3D por ordenador puede ser dividido en cinco fases básicas: modelado, texturizado, iluminación, animación y renderizado.

El modelado 3D, es la primera parte en el proceso de creación de una imagen tridimensional, esta es una representación de coordenadas, que da forma a estructuras envueltas por una textura, como si se tratara de estructuras de alambre recubiertas con papel de colores. Consiste en realizar una malla de forma básica, para posteriormente revestir con el material que le propiciará características específicas como: piel, tejido, metal, barro, agua, etc. La función del modelado es dar forma a los objetos individualmente, para posteriormente integrarlos en la escena.

Una vez terminado el modelado de los objetos, el siguiente paso es realizar el texturizado, donde se incrementa drásticamente el detalle y el realismo de las imágenes, sin necesidad de utilizar una representación muy complicada de los objetos. Es colocar una imagen en una cara o serie de caras de las mayas. Mediante el uso de texturas pueden obtenerse en tiempo real efectos visuales como reflexiones o sombras entre objetos.

Después de incrementar la complejidad en el detalle de los modelos tridimensionales, la siguiente fase es la iluminación, esta es el elemento base de todas las técnicas visuales y un elemento indispensable para sugerir la sensación de tridimensionalidad. Con las técnicas de iluminación se persigue un acercamiento a la representación en tres dimensiones, una parte fundamental del impacto de una imagen se debe a estas técnicas. Además, contribuyen considerablemente al mantenimiento de determinadas estéticas, a la transmisión de sentimiento. Su convencionalidad aporta al espectador información sensible sobre estados de ánimo, preparación y antelación respecto a lo que va a suceder a continuación.

La próxima fase a realizar es la animación, la misma consiste en una descripción de los objetos que varía con el transcurrir del tiempo, se logra con el movimiento de los objetos y la cámara, al hacer variaciones en sus formas. La animación 3D busca obtener un efecto en tres dimensiones del ambiente creado.

Una vez que todos estos elementos hayan sido creados correctamente, se pasa a la última y más importante fase que es el renderizado, etapa que toma como entrada los elementos definidos en las fases de modelado, texturizado, iluminación y animación y produce como salida una imagen bidimensional que representa a la escena creada. El renderizado, es un proceso de cálculos complejos desarrollados por un ordenador, destinado a generar una imagen 2D a partir de una escena 3D.

Granjas de render

El tiempo de render depende en gran medida de la cantidad de cálculos que se tengan que realizar, y estos, a su vez, son variables en función del tipo y cantidad de tratamientos que la imagen debe recibir. La capacidad de cálculo se ha incrementado rápidamente a través de los años, permitiendo un grado superior de realismo en los render. Para acelerar el proceso de renderizado se emplean las llamadas granjas de render (render farm).

Una granja de render es una agrupación de varias computadoras repartiéndose el trabajo de renderizar las imágenes o animaciones 3D realizadas con programas como: K-3D, 3D Studio Max, Cinema 4D, Maya, Blender, etc. Se encarga de dividir el proceso de renderizado entre varios ordenadores para que el tiempo de procesamiento de las imágenes tridimensionales sea el menor posible.

Las granjas de render poseen una arquitectura que propicia un trabajo más organizado y eficiente, dicha arquitectura está basada en las diferentes configuraciones que obtienen las computadoras conectadas a la red, lo que facilita un mejor desempeño en la realización de las tareas. Las configuraciones suelen ser: el máster, los esclavos y los clientes.

Máster

Es el elemento fundamental dentro de la granja, es el encargado de organizar y distribuir en forma de tareas los trabajos solicitados por los clientes, dichas tareas son enviadas a los esclavos. Es decir, el máster gestiona los clientes, los esclavos y las tareas asignadas a estos. Tiene toda la información sobre los trabajos y los esclavos, por lo que debe estar en ejecución todo el tiempo mientras la granja esté siendo usada. Contiene información importante, como por ejemplo, una lista de los trabajos almacenados en ella y los detalles de los mismos, la lista de los esclavos, etc.

El máster accederá al almacenamiento compartido para guardar los logs y así, estos podrán ser leídos desde cualquier lugar con acceso a esta ubicación.

Esclavos

Son los encargados de realizar todo el proceso de renderizado, y por tanto, siempre están a la espera de las peticiones del máster. El esclavo maneja las tareas de renderizado de forma secuencial, es decir, que no atiende ninguna tarea en paralelo, una vez que termine con una petición entonces estará disponible para cualquier otra.

Cada esclavo posee su propia información, las tareas que realiza y periódicamente le envía el resultado de estas, al máster. Una vez que la tarea es asignada al esclavo, éste recibirá toda la información relativa a la ubicación del script del trabajo (jobscript), el tipo de trabajo, el número de frame a renderizar, texturas, escenas, directorios de salida, etc. Con esa información, el esclavo se creará un nuevo proceso y ejecutará directamente el jobscript creado para el mismo. El jobscript tiene que estar disponible en el almacenamiento compartido, para que todos los esclavos puedan leerlo.

Cuando el esclavo termina el trabajo, toda la información se envía para el máster, éste recibe la tarea finalizada y el estado de salida. Los frames que ya han sido renderizados se guardan en el almacenamiento compartido. Todo lo que podría ser necesario para el éxito del render tiene que estar disponible en ese mismo lugar. Ese es el objetivo principal del almacenamiento compartido.

Clientes

Son todas las aplicaciones que podría solicitar información acerca del renderizado o enviar solicitudes para realizar diferentes acciones como volver a renderizar el frame, habilitar o deshabilitar los esclavos, eliminar trabajos y así sucesivamente. Los trabajos a renderizar son modelos creados en alguna herramienta de modelado y diseño 3D.

Independientemente de la configuración que adquieran las computadoras, todas necesitan de un almacenamiento compartido, administrado por el sistema operativo como cualquier otro tipo de sistema de archivos de red, esto permite la comunicación entre ellas a través de la red, de manera que pueden existir los datos físicamente en lugares distintos.

Funcionamiento

La herramienta para distribuir el proceso de renderizado cuenta con una lista de las computadoras conectadas a la granja, tanto la computadora máster, como las esclavas, además de una cola de los trabajos a renderizar. Desde el punto de vista del renderizado, las tareas suelen representar la cantidad de frames que serán renderizados. Por lo tanto, todos los fotogramas están en la cola esperando para ser asignados a un esclavo.

Una vez asignado, el esclavo ejecuta el script de trabajo para producir la imagen o animación resultante. Después de eso, la tarea será marcada como realizada y el esclavo quedará libre para renderizar otros frames. Una vez culminadas las tareas, de renderizar los frames repartidos, por todos los esclavos, se pasa a juntarlos y obtener el resultado final del proceso.

Conclusiones

Se mostró un estudio acerca de las fases de creación de los gráficos en tres dimensiones, donde se ha podido resaltar la importancia que tiene el renderizado en este proceso, lo que hace necesario su agilización, haciendo uso de una Granja de render, para poder obtener imágenes tridimensionales en un tiempo menos prolongado.


Fuentes

  • Ferrer, José Pascual. Tendencias de la práctica profesional de la fotografía comercial-industrial. 2011.
  • Martínez, José. Manual básico de tecnología audiovisual y técnicas de creación, emisión y

difusión de contenidos. Argentina: Editorial Paidós, 2004.