Desde la revolución de las tarjetas gráficas a finales de los 90, con la Voodoo de 3dfx a la cabeza, hemos sido partícipes del nacimiento de una amplia gama de terminología técnica. Al principio parecía sencillo seguirle la pista a estas palabras, pero pronto los desarrolladores demostraron que eran capaces de imitar cientos de fenómenos naturales.
Al final, la palabrería sobre gráficos se desbordó y muchos jugones prefirieron no ahondar demasiado en el tema, más que nada para no acabar con un terrible dolor de cabeza. Para ellos va este artículo, que pretende acercar lo que los videojuegos nos han ofrecido y nos ofrecerán, centrándonos en el apartado visual. Desde ya pedimos disculpas a los matemáticos, físicos, fotógrafos, ingenieros, diseñadores gráficos, y demás entendidos, pues las explicaciones serán en un idioma lo más coloquial posible. Prescindiremos de las fórmulas matemáticas, y es que la idea es saber identificar los fenómenos, no reproducirlos.
Bump mapping Bump mapping es una especie de trampa visual que permite ofrecernos objetos con relieve. Y decimos que es una trampa porque, realmente, el objeto no posee relieve. La técnica se lleva acabo modificando las normales de la superficie, sin tocar la geometría del objeto, para luego aplicar la iluminación a cada uno de los píxeles. Por ello, si nos acercamos lo suficiente a una superficie con Bump mapping, el efecto se pierde, pues el relieve no es real. Títulos con bastante edad, como Dungeon Keeper 2, ya incluían esta tecnología, que ahorra bastantes polígonos a la escena final. Por consiguiente, se necesita menos fuerza de la tarjeta gráfica para poner el juego en pantalla.
Normal mapping Normal mapping es la versión mejorada del bump mapping clásico. Mientras que este último perturba la normal de un modelo en un solo canal de escala de grises, el primero la reemplaza completamente, contemplando los canales rojo, verde y azul. De esta forma, se consiguen objetos con el mismo detalle que otros con millones de triángulos más, liberando a la tarjeta gráfica de bastante trabajo. Sin embargo, al ser una trampa como Bump mapping, si nos acercamos lo suficiente a la superficie se esfuma la sensación de relieve. La primera consola en soportar por hardware este efecto fue la Xbox; por su parte, el PC hizo lo propio con las tarjetas DirectX 8 (Geforce 3 de Nvidia o Radeon 8000 de ATI). Evolva fue de los primeros títulos en incorporar Normal mapping, también presente en Deus Ex: Invisible War, Thief: Deadly Shadows y Halo 2.
Parallax mapping o Virtual displacement mapping Parallax Mapping (o Virtual displacement mapping) es el siguiente paso después del Normal mapping, pues tiene en cuenta el ángulo con el que se mira a la superficie e introduce variaciones en la iluminación (Self Shadows). Sigue siendo un truco, pues la geometría de la superficie se mantiene intacta, pero el efecto está mejor conseguido. El hardware compatible con DirectX 9 comenzó a soportar este efecto (Radeon 9500 o GeForce FX), mientras que en consolas ya podemos verlo con Xbox 360. En el campo de los juegos, F.E.A.R. hizo su gran aportación al utilizar Parallax Mapping.
Displacement mapping Displacement mapping es el último grito en la búsqueda de superficies con relieves cada vez más creíbles. Así, en lugar de utilizar las trampas del Parallax o Normal mapping, esta técnica modifica realmente la superficie, por lo que el detalle es real, no una simple ilusión. Esto conlleva que la sombra que proyecta el objeto o superficie con Displacement mapping tenga en cuenta la rugosidad de la misma. El efecto se podrá visualizar en tarjetas gráficas compatibles con el futuro DirectX 10 y, al parecer, en la nueva consola de Nintendo, Wii.
Gouraud shading y Phong shading Gouraud shading es una técnica que se utilizaba para iluminar objetos, y que solo se aplicaba a los vértices de cada triángulo que compone el objeto. Como el efecto conseguido no era demasiado convincente, más adelante se consiguió iluminar cada píxel de una superficie, en lugar de cada vértice, mediante el método llamado Phong shading. Esta técnica, más pesada pero mucho más realista que la anterior, se hizo posible con la introducción de Geforce 2.
Bloom Bloom se hace fundamental a la hora de plasmar entornos sumamente iluminados, como exteriores soleados o interiores con tubos fluorescentes, por ejemplo. Esta técnica permite que la luz de un objeto sobre iluminado se desborde sobre las partículas que lo rodean, logrando aumentar el brillo de los blancos y la oscuridad de los negros. La sensación final que se logra es casi la necesidad de cerrar los ojos al verlo. Juegos como Oblivion permiten activar este efecto.
HDR Pronto los ingenieros gráficos se dieron cuenta de que la técnica de bloom tenía sus puntos negros. Así nace el HDR (High Dynamic Range - Alto Rango Dinámico), una técnica que permite simular la luz que va más allá del 100% del brillo máximo de nuestros monitores. El resultado es mucho más real que Bloom, pues HDR va más allá, imitando el funcionamiento del iris en el ojo humano. En la vida real, si nos encontramos en un pasillo muy oscuro y pasamos a una zona ampliamente iluminada, y viceversa, el ojo debe acostumbrarse al cambio de luminosidad. HDR reproduce esa transición que realiza nuestro iris para adaptarse al medio. Una técnica prohibitiva hasta hace un año, que el hardware de hoy en día realiza sin problemas. Presente en Far Cry, y mejorado en el mapa Half Life 2 - Lost Coast, HDR cambia la percepción de los juegos. Una vez que lo has visto, ya no puedes vivir sin él. Disponible para tarjetas compatibles con Shader Model 3.0, como Geforce 6600 y Radeon X600.
Soft Shadows Soft Shadows es la necesidad de crear sombras más reales, por ejemplo, cuando la fuente de luz está lejos del objeto que produce la sombra, mediante el plasmado de la penumbra. Se suele realizar aplicando varias hard shadows o sombras fuertes (las sombras que se producen al no tener activada la opción de Soft Shadows), por ello requiere más trabajo de nuestra tarjeta gráfica. Splinter Cell: Chaos Theory y Oblivion, entre otros, hacen buen uso de esta técnica.
Shaders - Shader Model Los shaders son programas, que se escriben en un lenguaje estándar, para procesar tanto píxeles (Píxel Shader) como vértices (Vertex Shader). Este lenguaje se lanzó con la denominación de Shader Model 1.0, que incluía tanto Píxel como Vertex Shader, y comenzó a acelerarse por hardware en Geforce 3 y Radeon 8000. A partir de ese momento, los shaders comenzaron a ser cada vez más importantes, llegando a estar presentes en, sino todos, la gran mayoría de juegos de la actualidad. Técnicas como HDR y Parallax mapping se realizan mediante shaders, incluso el efecto del calor, que produce una distorsión visual de ondulación de la imagen.
Shader Model 3.0 llegó con un polémico parche para Far Cry, y se instaló definitivamente con títulos como F.E.A.R. y Splinter Cell: Chaos Theory. Es preciso tener una tarjeta compatible con DirectX 9.0 para ver la tercera versión de los shaders en acción, es decir, chips como el de Radeon X1x00 o Geforce 6600. Aunque muchos se sintieron engañados en su día debido a que ATI primero sacó la versión 2.1 que, realmente, hace lo mismo que la 3.0, impuesta por Nvidia. Lo cierto es que cada nueva versión amplió los límites de la anterior, permitiendo mayores cantidades de instrucciones, mejores métodos para programar y, por consiguiente, un desarrollo más rápido.
DirectX Con la entrada de los juegos en 3D y las tarjetas que los aceleraban, la programación de estos comenzó a complicarse exponencialmente. Por ello, Microsoft comenzó a trabajar en una API (Application Programming Interface - Interfaz de Programación de Aplicaciones), colección de funciones de uso general que evitan en muchas ocasiones tener que programar todo desde el principio. Estas funciones no solo hacen referencia a los gráficos en 3D, sino también a las 2D, al apartado sonoro, al manejo de la red para el multijugador, a los controles, etc.
Así se formó DirectX, un kit de desarrollo gratuito para Windows, que logró facilitar bastante el proceso de creación de juegos, y que versión a versión ha ido incorporando nuevas funcionalidades, mediante la colaboración de grandes como ATI y Nvidia. A partir de la versión 9.0 del kit se incluye HLSL (High Level Shading Language - Lenguaje de alto nivel de shaders). Actualmente se distribuye DirectX 9.0c, y se ha utilizado para realizar motores de la talla de Source (Half Life 2), cuya versión mejorada se ha utilizado para el desarrollo de Dark Messiah of Might and Magic.
OpenGL OpenGL es la contrapartida multiplataforma de DirectX, y es que puede utilizarse en Linux, Unix, Mac OS, Windows e incluso en móviles. Desarrollada originalmente por Silicon Graphics Incorporated (SGI), OpenGL es una biblioteca de gráficos abierta (OpenGL - Open Graphics Library), que ofrece al programador una API que ha crecido a la par que el hardware. Al igual que DirectX tiene HLSL, OpenGL hace lo propio con GLSL (GL Shading Language), un lenguaje de shaders propio desde la versión 2.0 de OpenGL. Aunque esta librería no posee la misma popularidad que DirectX, ha sido la preferida de gurús como Carmack, con la que ha desarrollado los motores de Quake y el último Doom.
Shadow volumes El afán de crear sombras cada vez más reales ha provocado que los diseñadores dieran con un factor muy importante, especialmente cuando la iluminación de un escenario es dinámica; el volumen de la sombra. Con esta técnica se pretende imitar el volumen de una sombra, que cambia al moverse el foco de luz. Un título que hizo una utilización magnifica de Shadow volumes fue Doom 3, agregando gran dramatismo a la mayoría de los mapas del juego de Id Software
Volumetric Clouds Las nubes pasan de ser meras texturas a objetos con volumen, que incluso pueden producir sombras e iluminarse dinámicamente, como el caso del futuro Crysis y sus fases aéreas. Una tecnología que se vuelve fundamental en los juegos que nos ofrecen pasar por las nubes, como un simulador de vuelo, aunque no tan importante si el jugador nunca llega al cielo. Realizar este tipo de nubes es realmente complicado, tanto para el diseñador como para la tarjeta gráfica, al igual que otros fenómenos volumétricos como la niebla, el humo y el agua.
Depth of Field Es pocas palabras, es lo que ocurre cuando una lente enfoca un plano, dejando lo demás borroso. Se realiza mediante programación de shaders y efectos de post-procesado, que también son shaders. Esta técnica se encuentra implementada en motores como Source (Half Life 2, aunque no se utiliza en el juego), Unreal Engine 3 (Unreal Tournament 2007) y CryEngine 2 (Crysis).
Motion Blur Imita el efecto que se produce cuando se toma una fotografía con objetos que se mueven muy rápido, o cuando el tiempo de exposición de la lente es más amplio. El Matador y Test Drive Unlimited incluirán esta tecnología, logrando un efecto de movimiento más espectacular.
Alpha Blending Esta técnica se utiliza para crear efectos de transparencia, tales como los vistos en cristales u objetos líquidos. Por supuesto, también se aplica para imitar objetos traslúcidos. Asimismo, sirve para realizar una suave transición entre una imagen y otra. El Alpha Blending se lleva utilizando desde los tiempos de Voodoo 3 y TNT, por lo que es un viejo conocido, visto en juegos como Quake 3.
Subsurface Scattering Toda superficie no metálica es traslúcida en cierto grado, lo que significa que la luz se dispersa dentro del material hasta ser absorbido por este. A la hora de reproducir este fenómeno en gráficos computerizados se le llama subsurface scattering, estará presente en Crysis y Brothers in Arms: Hell's Highway, y se utiliza para presentar ropa, cera, mármol, e incluso piel humana de forma realista. Otra técnica que hará sudar nuestras tarjetas gráficas, pues debe calcular la cantidad de material que puede atravesar la luz y la densidad del mismo. Asimismo, ha estado presente en películas como Star Wars: Episodio III.
Ambient Maps - Ambient Light - Indirect Lighting - Global Ilumination Es una forma de simular la luz que incide en un objeto y rebota, iluminando a otro, y/o incluyendo el color del primero en la superficie del segundo. Anteriormente se realizaba mediante Ray Tracing, pero los nuevos Ambient Maps prometen deleitarnos en tiempo real y a mejores tasas de cuadros por segundo que la primera tecnología. Crysis hará buen uso de esta técnica, que también estaba presente en Quake 4.
Fuzzy shadows Como se puede ver en la imagen, tomada de una demostración del Unreal Engine 3, las nubes provocan sombras borrosas, o fuzzy shadows, en el suelo.
Self Shadows Tan sencillo como la representación de cuerpos que proyectan sombras sobre sí mismos, aunque la puesta en práctica de esta técnica puede resultar bastante complicada. Sino que se lo digan a Bethesda y su Oblivion, que todavía está trabajando en un parche que arregle la fallida inclusión de Self Shadows. Títulos como F.E.A.R. incorporan esta técnica de forma efectiva.
Specular y Diffuse Reflection La reflexión especular (Specular Reflection) pretende imitar la que se produce en objetos lisos, metálicos, brillantes y demás, donde se produce ese brillo característico, así como un pequeño punto de luz. La reflexión difusa (Diffuse Reflection), por su parte, hace lo propio con las superficies de acabado mate, rugosas, en las que no vemos el mencionado punto de luz.
Filtros Anti-Aliasing y Anisotrópico Los filtros visuales de Anti-Aliasing y Anisotrópico llevan muchos años entre nosotros, desde tiempos de Quake 3. Anti-Aliasing tiene como trabajo disimular el efecto diente de sierra, que se produce en los bordes de los objetos cuando estamos a bajas resoluciones. Por su parte, el filtrado Anisotrópico, en pocas palabras, aumenta el detalle de las texturas lejanas, eliminando el efecto borroso. Tanto el primero como el segundo mejoran el acabado visual de un juego a medida que le asignamos un valor mayor (2x, 4x, 6x, 8x,16x), sin embargo, con el Anti-Aliasing hay que tener cuidado porque puede dejarnos una imagen borrosa en valores altos.
Cell Shading Cell Shading en un efecto por el cual se consiguen objetos tridimensionales con estilo de cómic o dibujo animado. Uno de los primeros títulos en utilizarlo fue un shooter llamado XIII, le siguieron otros como Dragon Ball Z Budokai y Viewtiful Joe, mientras que otros que vendrán también lo utilizarán, como Bad Day L.A.
Level of Detail - LOD Esta técnica de programación se utiliza para disminuir la cantidad de polígonos de los objetos lejanos, logrando acelerar el procesado de una escena tridimensional sin apenas notar una pérdida de detalle. Al acercarnos al objeto, este vuelve a tener la cantidad de polígonos inicial. Juegos como Quake 2 y Black & White ya incluían Level of Detail.
Mip Mapping Si Level of Detail se aplica a la geometría de un objeto, cambiando la cantidad de polígonos del mismo, Mip Mapping hace lo propio con las texturas de un modelo 3D. De esta forma, al alejarse este, se disminuye la calidad de las texturas, mientras que al acercarse vuelven a tener su detalle original. También se utiliza desde tiempos de Quake 2, y es justamente lo que el filtrado anisotrópico se ocupa de disimular.
Transform and Lighting Transform and Lighting son unas palabras que empezaron a sonar fuerte con la incursión de la primera Geforce, pues se ocupaba de acelerar por hardware cálculos muy complejos que antes debían pasar por la CPU. Mientras que Transform hace referencia a la transformación del espacio 3D del juego a las coordenadas en 2D de la pantalla, Lighting se refiere a la de luces y sombras de una escena en tiempo real. Uno de los primeros juegos en soportar la función de Transform and Lighting por hardware fue Evolva.