Nota: publico ahora el final de esta serie para hacer referencia a ella en futuras entradas. Debí haberla publicado hace ahora casi cinco años, con lo que a nivel técnico (y de estilo, todo hay que decirlo) ha quedado un poco obsoleta, no obstante las ideas esenciales siguen siendo válidas ;)
(…)
Todo sobre lo que venía hablando ayer hace más de un año, era solo sobre de cine. Al principio avisaba de que también quería hablar de videojuegos, pues visualmente también avanzan, a veces de forma suave, a veces rompedora, hacia ‘la verdad absoluta’, hacia el fotorrealismo total, que algún día hará las imágenes generadas por el ordenador, mostradas en la pantalla, indistinguibles de unas grabadas por una cámara* en el mundo real.
*Digo ‘cámara’, y no ‘ojos’: esa es la diferencia entre fotorrealismo y realismo.
Sin embargo, los efectos visuales del cine y los videojuegos se distinguen en un aspecto clave: los últimos deben de generarse en tiempo real. Mientras que para generar un solo fotograma de una película, hay granjas de render -auténticos monstruos del cálculo- trabajando durante horas y tal vez días (en Avatar se llegó a una cifra récord de una media de 48 horas por fotograma, mientras que lo históricamente, normal han sido unas dos horas para sintetizar cada fotograma), los videojuegos deben de moverse, en vivo y en directo, a 30 fotogramas por segundo, -como mínimo-, y se suelen recomendar no menos de 60. Y eso, calculado y movido por nuestro ordenador de sobremesa o portátil, que obviamente, enfrentado a aquellas granjas de render, no tiene nada que hacer.
Por lo tanto, es obvio concluir que a los videojuegos les queda muuuucho por delante hasta llegar a niveles cinematográficos. Como desgranaba en la primera parte de este post, el cine llego a ese nivel de indisintiguibilidad hace apenas diez años, y faltan décadas hasta que nuestros ordenadores domésticos puedan competir en potencia con lo que hace diez años ya eran superordenadores. Si es que se puede, si es que se puede reducir tanto el tamaño de los componentes, si no hay ninguna ley física que lo impide. Eso es lo que nos espera…
¿Seguro?… Tal vez no tanto.
(…)
Si me pongo perverso, me atrevería a decir que tal vez el ‘fotorrealismo’ en tiempo real es como la velocidad de la luz o el cero absoluto: te puedes acercar todo lo que quieras, pero no los puedes alcanzar. Pero supongo que eso es opinable: El camino hacia el fotorrealismo en tiempo real será un camino todo lo largo que querais, pero es finito. Algun día se conseguirá. El desafío está lanzado, creo que ya hemos pasado la mitad del camino, y pese a las dificultades iniciales (y las que se presentarán al final, en el proceso de pulido) los pasos que se dan ahora son agigantados.
Los orígenes.
Hasta donde sé, esta es la primera animación en 3d de la historia (1972), por Edwin Catmull. Este hombre es algo así como el Gauss de las tres dimensiones, y entre otras cosas, padre fundador, junto a Lasseter y Jobs, ni más ni menos que de Pixar. Lo que no quita que este vídeo esté en la puñetera fosa de las Marianas del valle inquietante (especialmente a partir del 5:11)
En cualquier caso, esa animación (¡con sombreado Gouraud!) es de 1972, y podría decir que aproximadamente en 1992 teníamos unos gráficos comparables en nuestros ordenadores: el X-Wing de LucasArts, con gráficos en 3d en nuestros PCs, que a todos nos dejó alucinados. De modo similar Los gráficos que movían las nVidia FX y las ATI serie 9000 en nuestros PC’s hacia 2002 podrían ser facilmente comparables a la (¡gloriosa!) secuencia del Genesis (Star Trek II: La Ira de Khan, 1982), que también menté antes; y los gráficos que ahora son ya capaces de mover nuestros ordenadores superan a los dinosauros de Jurassic Park (1993). Dado, por tanto, que la primera vez que me sentí plenamente engañado por unos efectos visuales fue con el Gollum (Las Dos Torres, 2002), como de nuevo dije en el post anterior, haciendo una extrapolación sencilla diría que a los videojuegos le quedan diez años aún para que por fin nos la cuelen con alguna imagen sintética y la pasemos por real.
Pero ¡un momento!: mi portatil, con un modesto procesador Intel i5, y que tiene tal vez tres o cuatro veces la potencia bruta que tenían entonces aquellas granjas que en 1993 usó la ILM para crear esos velocirraptores, ¡es capaz de hacer los mismos dinosaurios en tiempo real! ¡aquellas granjas tardaban horas! ¿Qué pasa aquí?
(…)
Antes lancé una pregunta al aire: ¿alguna vez nuestros ordenadores personales alcanzarían a hacer en tiempo real lo que granjas de render solo hacen en diferido?. ¡Décadas, harían falta! ¡Hablamos de ordenes de magnitud distintos! ¡Hablamos de petaflops, de terabytes de memoria! ¿No llegará un punto, además, en el que sencillamente no se podrá miniaturizar más los componentes de ordenadores? ¿No hay en física cuántica limites que impiden integrar cada vez más y más transistores en el mismo chip?
Si, si, y si. Planteado así, parece imposible que algún día se puedan hacer videojuegos indistinguibles de la realidad.
*Alguno me puede saltar con que si ‘computación cuantica’ y que si ‘grafeno’ (os invito a pinchar los enlaces), pero hasta donde sé, ambas tecnologías no estan ni en pañales.
Por eso me apetece introducir otra idea: el hecho de que las nuevas técnicas de render aparecieran hace diez años, no significa que haya que esperar a que los ordenadores alcancen una potencia equivalente a las granjas que entonces existían: estas técnicas y algoritmos se optimizan, y mucho.
La clave es que cuando estas técnicas aparecieron, lo que se hacía entonces era una aproximación por fuerza bruta. Sin ir más lejos, el algoritmo que describe la iluminación global no deja de estar descrita por una ecuación, basada en un sistema físico real, muy conocido y estudiado y por lo tanto muy predecible: la luz. Y que como tal, la resolución de esa ecuación daría un resultado idéntico al de la misma realidad. De hecho, tan ‘solo’ bastaría con simular la trayectoria de cada fotón que emana de una fuente de luz y bombardea todas las superficies que esta ilumina, para ver como estos rebotan y se dispersan hasta perder toda su energía…
De cada fotón, agarrate.
Eso es una puta animalada. Pues esas eran las animaladas que se hacían al principio. Se introducía el algoritmo en el ordenador, se ponía a calcular, se probaba a ver que pasaba, y si había suerte, pasado un tiempo se tenía algo potable. Pero la gracia está en que precisamente, ese algoritmo se ha depurado y optimizado. Mucho, muchísimo. Teniendo en cuenta cómo el ojo humano percibe la luz, teniendo en cuenta objetos que ocultan a otros, la distancia, el angulo que nos ofrecen… y muchas otras variables, se puede obtener un resultado igualmente aceptable en tal vez cientos de veces menos tiempo que en una aproximación por fuerza bruta. De hecho, ya dije que hay muchísimos métodos para conseguir la susodicha ‘iluminación global’, de la cual la radiosidad era solo una, y muy a menudo se usan de forma conjunta, aprovechando lo mejor de cada uno. Insisto, es importante diferenciar la descripción de un fenomeno real, de sus distintas implementaciones para simularlo y resolverlo. Por supuesto, la aproximación por fuerza bruta es la única estrictamente realista, pero podemos conseguir resultados muy, muy creibles y muy cercanos a la solución real, en mucho menos tiempo. A pesar de ello, parece ser que estamos aun lejos de conseguirla en tiempo real.
E igual que pasa con la iluminación global, pasa con las otras tecnologías clave. El HDR, desarrollado por primera vez por la ILM, se empezó a implantar en el cine en 1999, y sin embargo, apenas cuatro años más tarde ya lo teníamos en nuestros ordenadores, en su estado más puro, sin aproximaciones cutres. La dispersión de subsuperficie aparece en 2002, de nuevo de la mano de la ILM, y apenas unos meses más tarde tanto ATI como nVidia ya tenían sus propias aproximaciones trabajando en tiempo real sobre sus tarjetas gráficas. Y la oclusión de ambiente (adivinad: si, también de ILM), que también es descrita por primera vez en 2002, dado que es computacionalmente más compleja que las anteriores, no tuvo una primera aproximación un tanto cruda aunque resultona hasta 2007, precisamente en el Crysis.
Bien, la pregunta viene a ser ¿podremos pronto hablar de iluminación global en los videojuegos? Ya hemos visto el aspecto que dan a una escena. Es redundante decirlo, pero la iluminación global es literalmente la luz, la misma vida, un paso firme y clave hacia ‘la verdad absoluta’.
Y yo mismo creí que faltarían muchos, muchos años, hasta que pudieramos ver algo potable, en un videojuego… Sin embargo, en 2009 tuve la respuesta:
Los comentarios sobre este vídeo, ya en la cuarta y última parte.
(…)
Partes que componen esta serie, «Crysis 2 (y el día que la gente se preguntó si Bill Nighy llevaba maquillaje)»:
Pingback: Crysis 2 (y el día que la gente se preguntó si Bill Nighy llevaba maquillaje) (4 de 4) | RIdP