USUARIO     PASSWORD  

Inicio
Foros
Noticias
Entrevistas
Artículos
Concursos
Enlaces
Libros
DVD'S
Escuelas 3D
Tutoriales
Encuesta
¿Has visto "Planet 51"? ¿Qué opinas?
Amigos
Promociones y Ofertas
NUEVAS GAMESTATIONS
para usuarios de Esmaya
descuento especial


HOSTING EN ESPAÑOL
WEB por $40.00 anuales

para usuarios de Esmaya
5 cuentas adicionales
Usuarios en línea
 Hay 12 usuarios en línea
Inicio arrow Artículos arrow Fotorrealismo en tiempo real
Fotorrealismo en tiempo real PDF Imprimir E-mail

En AZKEN MUGA creemos que es hora de hacer análisis del estado de desarrollo de los motores de render en tiempo real más atractivos para la infografía fotorrealista. Y lo queremos hacer  dentro de este breve artículo que además de presentar las soluciones de software más populares según el entorno de desarrollo para el que se esté trabajando pretende servir también como una orientación para poder escoger la combinación de hardware y software más adecuada en cada caso para empezar a trabajar en un entorno fotorrealista o semifotorrealista con cierta interactividad o representación a tiempo real.

Si bien es cierto que desde hace unos 4 años la potencia de cálculo de CPU’s convencionales, VPU’s, GPU’s y GPGPU’s ha evolucionado de manera más exponencial que nunca, casi rompiendo la ley de Moore, igual de cierto es que si nos trasladamos esos 4 años atrás en el tiempo se empezaba a especular con la posibilidad de que el nivel de fotorrealismo que se pudiera conseguir trabajando en tiempo real en esos  4 años que faltaban para llegar al presente fuera prácticamente el mismo que el que hoy nos ofrecen las soluciones de render pre calculado. Esto desgraciadamente no ha sido así y los desarrolladores, integradores y comerciantes de hardware nos deberíamos responsabilizar de parte de esta especulación.

Pero el desarrollo tecnológico sigue su camino, sea cual sea su velocidad, y tampoco era fácil de imaginar que se llegasen a introducir 660 millones de transistores en las GPU’s de última generación o que esas mismas GPU’s fueran capaces de calcular 500 Gigaflops por si solas como lo es la FireStream de ATI:
http://ati.amd.com/products/streamprocessor/specs.html 

Ni que existieran estaciones de trabajo como nuestra AZKEN Station Q16 capaz de albergar 8 procesadores de 8 núcleos cada uno sumando un total de 32 núcleos y 64 Gigahercios en una torre de sobremesa:
http://www.azken.com/privado/Workstation.asp?IDC=&idWs=91

O que se pudieran colocar hasta 4 tarjetas gráficas en una misma placa base para que ejecutaran cálculos en paralelo tanto para representar gráficos en un solo monitor como para repartirse el trabajo en varias pantallas.

Tampoco muchos de nosotros veíamos claro como una estructura tan cerrada a nivel de programación como una CPU gráfica podía convertirse en programable y ser capaz de “entender”  y calcular nuevos efectos de render tan sólo actualizándole los drivers y en tan poco tiempo.

Ni mucho menos que en dichas GPU’s se llegara poder a calcular y representar cálculos dinámicos, atmosféricos y comportamiento inteligente de multitudes en tiempo real.

Pero todos estos avances e incrementos en la potencia capacidad y velocidad de cálculo se pueden convertir en un desperdicio de dinero y recursos si no se realiza la inversión correctamente ya que hay que recordar que el entorno del realismo, y aun más del fotorrealismo, en tiempo real,  continúan en un estado de pubertad en la que no existe una combinación de hardware y software que nos sirva para cualquier tipo de proyecto.

Hay que escoger muy bien esa combinación y a eso es a lo que pretendemos ayudar con este artículo en lugar de a profundizar en qué consiste la tecnología de cada combinación.

Lo primero y más importante antes de realizar el paso hacia el realismo o fotorrealismo en tiempo real es plantearnos si es necesario para nuestro proyecto dado que en ocasiones invertimos en toda una nueva infraestructura de medios y formación para abordar un solo proyecto que nunca más nos van a pedir y eso en la mayoría de casos no sale a cuenta, sin contar que tendremos que dedicarle mucho tiempo a un campo al que aun no pertenecemos profesionalmente.

Una vez decidido esto tendremos que escoger la combinación de hardware y software más adecuada para el proyecto que vayamos a realizar, algunas de las cuales analizaremos en este artículo, pero es posible que, dependiendo de la escala de nuestro estudio o de nuestro proyecto podamos invertir en el desarrollo propio de un motor de render hecho a nuestra medida. Esto es algo realmente complejo pero en algunos casos en España ya se ha llevado a cabo.

A pesar de que, tal como comentábamos antes, el estado de desarrollo del hardware y software para renderizar en tiempo real con cierto realismo lo podríamos considerar en su estadio inicial de desarrollo y esto nos impide encontrar una aplicación y un sistema que nos permita conseguir el realismo que necesitamos sea cual sea nuestro proyecto, pero es cierto que podemos encontrar software que se adapta mejor a los resultados visuales que en cada sector se suele querer obtener y tendremos que escoger el software más adecuado para él para que tanto el proceso de diseño como la representación del proyecto no se vean afectados por un bajo rendimiento de un hardware por debajo de los requerimientos de ese software.

En estos momentos el sector más beneficiado según nuestro punto de vista de los avances en fotorrealismo en tiempo real podría ser el de la publicidad de productos de ingeniería ya que los efectos más usados son el raytrace para representar los reflejos de metales y superficies limpias, las transparencias y los brillos especulares… nada demasiado complejo para la tecnología disponible hoy en día.

La publicidad de la industria automovilística, el diseño de piezas y maquinaria industrial, la publicidad blanca (productos de higiene doméstica), todos estos entornos de creación pueden ser  representados con un programa como EON Professional de EON Reality:

http://www.eonreality.com/index.php?ref=products/software/professional

 

fotorrealismo01

Con este software no sólo dispondremos de un realismo suficiente en la mayor parte de casos en los que hagamos demostraciones en vivo en proyecciones de gran formato o en cualquier sistema de realidad virtual. Eso sí, en este caso es muy recomendable el uso de tarjetas profesionales NVIDIA Quadro no sólo por que este software hace uso de los Cg shaders de Nvidia para conseguir el máximo realismo de renderizado y por el rendimiento de proceso necesario para representar grandes entornos interactivos o complejos ensamblajes mecánicos, sino porque este software está muy ligado a entornos de CAD y los formatos que maneja son precisamente los que corresponden a estos programas con los que las tarjetas profesionales son realmente recomendables: CATIA, Unigraphics, ProEngineer etc…

Otra ventaja de este software es que realizar entornos interactivos no requiere conocimientos de programación y simplemente con el método de drag & drop podemos crear elementos y entornos interactivos controlables con interfaces tradicionales como teclado y ratón o con las pantallas táctiles de nueva generación.

Lo que hay que tener claro en todo momento es que no es un software totalmente preparado para producción real, es decir no cuenta con las características necesarias que nos permitirían aprovechar la salida de render que produce en tiempo real para producciones prerenderizadas no interactivas que se proyecten en broadcast, formatos de TV o incluso cine.

Si nuestro entorno de creación es el de los videojuegos el abanico de aplicaciones disponibles y recomendables para nuestro trabajo es mucho más amplio pero la necesidad de usar una aplicación separada sólo para previsualizar el aspecto de nuestros shaders, efectos atmosféricos o la propia iluminación se vuelve innecesaria dado que se supone, ya disponemos del motor de render que va a implementar el juego para representar todos nuestros entornos, personajes, objetos…etc. Si nuestro videojuego va a usar un motor de render basado en las nuevas API’s DirectX 10 o OpenGL 2.0 el fotorrealismo que puede llegar a presentar es algo nunca visto hasta ahora en tiempo real dado de que dispondremos de efectos de iluminación, shading y animación que las anteriores versiones de estas API’s no eran capaces de representar a través de las GPU’s de última generación, como por ejemplo mapas de desplazamiento, sombras dinámicas, partículas suaves, animación con morph targets, etc.

En todo caso, de lo que sí disponemos es de toda una serie de motores de de render que funcionan como plug-ins en los programas usados más comúnmente en alguna parte del proceso de creación de un videojuego. Por ejemplo en 3dstudio MAX. Estos programas se han diseñado en muchas ocasiones con el objetivo de previsualizar los shaders aplicados a los personajes u objetos de nuestro videojuego y de este modo podemos ver como van a quedar sin tener que exportar el modelo en cuestión al motor de render. Alguno de estos softwares útiles para esta previsualización pueden ser:

G2  de Worley Labs: http://www.worley.com/E/Products/g2/g2.html

fotorrealismo02

 

que se integra perfectamente en Lightwave o RedViewer de RedWay 3D:
http://www.redway3d.com/pages/redviewer.php

 

fotorrealismo03

que está disponible para 3dstudio MAX.

Estos software son realmente interesantes porque son capaces de exprimir el máximo realismo que las GPU’s de última generación y las últimas versiones de las API’s que soportan son capaces de ofrecernos, pero no sólo eso, sino que también incorporan implementaciones de efectos que de momento aun las GPU’s no son capaces de calcular y pasan esta función a la CPU central del equipo con lo que el binomio tarjeta gráfica potente y CPU rápida se hacen realmente útiles al usar estos programas.

Eso sí, si nuestro campo de creación son los videojuegos en este caso las tarjetas gráficas profesionales se convierten en algo secundario.

Las desventajas más grandes de este tipo de aplicaciones son precisamente que dependiendo de la complejidad de las escenas y de los efectos que el software se vea obligado mandar a la CPU central del equipo hace que no podamos trabajar siempre a tiempo real ya que cuando la CPU interviene en los cálculos gráficos el proceso de prerenderizado se convierte en algo inevitable.

Además, a causa de que precisamente haya efectos que los calcule la CPU no siempre nos será útil este tipo de software para previsualizar algo que una vez introducido en el motor de render de un videojuego sólo podrá ser renderizado por una GPU, Simplemente los efectos que en un programa de este tipo se pasan a la CPU para que los calcule no se podrían representar en el motor de render de nuestro juego.

Para evitar esto podemos prescindir de este tipo de programas y hacer uso de los módulos que ya llevan años incrustados en nuestras aplicaciones 3D habituales y que nos aseguran que lo que previsualicemos en nuestro viewport habitual será lo que se verá en el juego. Un magnífico ejemplo de ello son los Cg shaders que implementa Autodesk Maya desde su versión 4.5:

fotorrealismo04

 

O el nuevo motor de render que implementa Caligari Truespace capaz de representar efectos de Subsurface Scattering en tiempo real:

 

fotorrealismo05

 

los directX shaders que incorpora 3dsmax: 

 

fotorrealismo06

 

Otra gran desventaja a tener en cuenta es que este tipo de software no nos permite introducir ningún tipo de interactividad en nuestras escenas, objetos o personajes teniendo que dejar esto para el equipo de programación de nuestro videojuego.

De todos modos como compensación a este problema tenemos una gran ventaja y es que este tipo de software son un término medio entre fotorrealismo y velocidad de render ideal para que en muy poco tiempo puedan ser usados en producción real de animación. Sus equipos de desarrollo investigan tanto en la tecnología de implementación de fotorrealismo en tiempo real como en fotorrealismo prerenderizado y sus motores de render son capaces de trabajar en ambos entornos al mismo tiempo por lo que en poco tiempo es posible que sean usados para cosas que ahora reservamos exclusivamente a la producción prerenderizada por CPU.

Si nuestro campo de desarrollo es el de la infoarquitectura deberemos ser muy cuidadosos a la hora de escoger la aplicación que mejor se adapte a nuestras necesidades ya que hay multitud de motores conocidos y desconocidos que previsualizan escenas arquitectónicas a muy baja calidad y en realidad hay pocas propuestas interesantes a nivel de realismo en el mercado.

Algunas de ellas podrían ser por ejemplo Quest3D: http://www.quest3d.com

 

fotorrealismo07

 

 O Click VR-Visualizer : http://www.codeblend.com/products.html

 

fotorrealismo08

 

Aunque la interactividad que podemos programar a nuestras escenas con este tipo de aplicaciones es un poco limitada, estos programas tienen otro tipo de ventajas como por ejemplo que los requisitos de hardware necesarios para correr estos paquetes es bastante baja y con un ordenador portátil de gama media de hoy en día suele ser suficiente para presentaciones arquitectónicas de baja poligonización. Esto es realmente útil porque las promotoras inmobiliarias y los constructores necesitan tener disponibles contenidos interactivos en muy poco tiempo para que el cliente pueda navegar por ellas en cualquier parte: una sala de juntas, un despacho o una sala de proyecciones.

Ahora bien dentro de este mundo tan dinámico están apareciendo propuestas realmente revolucionarias como las que están desarrollando nuestros amigos de Feversoft.

Se trata de Random Control, un motor de render que nos plantea la siguiente pregunta: Si hoy en día tenemos que hacer esperar a nuestros clientes una media de una semana para presentarle un proyecto arquitectónico ultrafotorrealista como este:

 

fotorrealismo09

 

Como reaccionaría si le dijéramos que después de esperar una semana para poder ver el resultado, podrá además, navegar por él con el mismo nivel de fotorrealismo.

Aunque este motor de render en tiempo real aun está en fase de desarrollo su filosofía es mucho más que interesante ya que su tecnología de pre cálculo le permite almacenar toda la información relativa a la iluminación directa e indirecta de un modo en el que la tarjeta gráfica la podrá recuperar a la hora de abrir la escena. Las técnicas de prebaking realmente no son nuevas pero se utilizan en otros motores de render prerenderizando la iluminación que nosotros hayamos colocado encima de las texturas de los objetos en lugar de en toda la geometría que la compone, por esta razón los niveles de fotorrealismo en tiempo real que se podrán conseguir con este motor de render estará por encima de cualquier cosa que hayamos visto hasta ahora. Eso sí, el proceso de baking o prerenderizado nos exigirá toda la potencia que pueda darnos una granja de render completa como nuestras Nrender o AZRENDER:
http://www.azken.com/privado/PorCategoria.asp?tipocat=2&idcategoria=3

con las que estamos acostumbrados a producir animaciones de alta resolución de más de 5000 fotogramas en menos de una semana.

Aunque no es una solución que se pueda implementar ahora mismo en nuestro flujo de trabajo es algo que valdrá la pena realmente en todos los sentidos cuando esté disponible.

El sector peor parado, a pesar de todas estas innovaciones tecnológicas para mejorar la calidad y realismo del tiempo real, sin duda es el del DCC de calidad cinematográfica, dado que el nivel de calidad y complejidad con la que se trabaja en la industria del cine e incluso de la TV es mucho más elevado, lo que convierte el trabajo en tiempo real en totalmente inviable de momento. Y no sólo se trata de la calidad, sino también de la metodología de trabajo. Hoy en día hay muchos factores que impiden el trabajo en tiempo real en producciones cinematográficas como por ejemplo el renderizado de mapas de desplazamiento o mapas de normales que provocan que al momento de renderizar haya más de 10 millones de polígonos en escena o las altas resoluciones con las que se trabaja de más de 4000x4000 píxels que superan las capacidades de cualquier tarjeta gráfica o la salida de render por capas son sólo algunas de las limitaciones que hacen que desde AZKEN MUGA no os podamos recomendar ninguna combinación de hardware ni software que permita la producción en este entorno. Aun así estamos seguros que a la velocidad a la que avanza esta tecnología se puedan introducir en parte del proceso de producción para previsualizar o incluso aprovechar en producción real de calidad cinematográfica.

Pero la conclusión que sacamos de este tipo de tecnología no sólo es que aun le falta un largo camino para ser 100% aprovechable en todos los entornos de creación infográfica sinó que su rapidísima evolución nos permitirá ver cosas impensables hace 5 años sin tener que apretar el botón de render y esperar horas.

Hay quien dice que la programabilidad en aumento de las GPU’s y el desarrollo tecnológico de las mismas permitirán que todo el proceso de render que ahora lo calcula la CPU pase a ser calculada por la GPU y a mucha más velocidad dejando a la CPU sólo los cálculos gráficos genéricos de gráficos en 2D, pero nosotros creemos que este tipo de conjeturas son demasiado aventuradas para pensar en un corto plazo. Lo que sí está claro es que cuando las API’s DirectX 10 y OpenGL 3.0 estén totalmente implantadas, no tardaremos mucho tiempo en mover cosas como estas a tiempo real:

 

fotorrealismo10

 

Nosotros apostamos por sistemas en los que el trabajo CPU-GPU funcionará codo con codo a alto rendimiento al menos hasta que el cuello de botella de los buses sea insostenible, ya que aunque la CPU no sea un chip especializado en cálculos gráficos su avance tecnológico en velocidad bruta es cada día mayor y aunque la GPU no sea capaz aun de calcular los efectos de iluminación y shading que proporcionan precisamente el mayor fotorrealsimo que podemos ver en las imágenes prerenderizadas por CPU lo cierto es que su velocidad y potencia es mucho mayor que la de cualquier CPU.

 

Eric Garcia
AZKEN MUGA

 
Patrocinadores

 

powered by mambo