GeForce

Teselado DirectX 11

 
 

Teselado DirectX 11: qué es y por qué es tan importante

Con toda la expectación que se ha creado en torno a DirectX 11, seguramente habrás oído hablar de una de sus novedades más importantes: el teselado. Conceptualmente es algo bastante simple: tomas un polígono y lo divides en fragmentos más pequeños. Entonces, ¿por qué tanto revuelo? Y ¿por qué es tan esencial para los juegos? En este artículo, explicaremos por qué esta técnica va a representar un cambio profundo para los gráficos 3D del PC y las razones por las que las GPUs NVIDIA® GeForce® GTX 400 ofrecen un rendimiento excepcional en las operaciones de teselado.

Básicamente, el teselado es una técnica que descompone polígonos en fragmentos más pequeños. Por ejemplo, si tomas un cuadrado y lo divides por su diagonal, lo habrás "teselado" en dos triángulos. En sí misma, esta técnica no hace gran cosa por aumentar el realismo. Por ejemplo, en un juego, no importa si un cuadrado se renderiza en dos triángulos o en dos mil; el teselado sólo mejora el realismo si los nuevos triángulos se utilizan para ofrecer más información visual.

Triangle Mapping Displacement Mapping
Cuando se aplica un mapa de desplazamiento (a la izquierda) a una superficie plana, la superficie resultante (a la derecha) reproduce la información de altura codificada en el mapa de desplazamiento.

La forma más sencilla y utilizada para dar sentido a los nuevos triángulos es aplicar mapas de desplazamiento. Un mapa de desplazamiento es una textura que guarda datos de alturas. Cuando se aplica a una superficie, permite a sus vértices "desplazarse" hacia arriba o abajo en función de esa información. Por ejemplo, el artista gráfico puede tomar un bloque de mármol y mover los vértices para crear una talla. Otra técnica bastante utilizada es aplicar mapas de desplazamiento al terreno para dibujar cráteres, cañones y relieves escarpados.

Al igual que el teselado, los mapas de desplazamiento existen desde hace mucho tiempo, pero sólo ahora empieza a verse su potencial. La razón es que, para que los mapas de desplazamiento sean efectivos, la superficie tiene que estar formada por un número muy elevado de vértices. Pongamos por caso la talla de mármol. Si el bloque de mármol estuviese formado de ocho vértices, no habría ninguna cantidad de desplazamiento relativo que pudiese producir la forma de un dragón. Sólo se puede conseguir un relieve detallado si hay suficientes vértices en la malla de base para reproducir la nueva forma. En esencia, los mapas de desplazamiento y el teselado se necesitan mutuamente.

Con DirectX 11, el teselado y los mapas de desplazamiento por fin forman una pareja feliz y los desarrolladores ya empiezan a subirse al tren de esta tecnología. Juegos tan conocidos como Alien vs. Predator y Metro 2033 utilizan esta fórmula para producir modelos más naturales y los desarrolladores de Valve e id Software han hecho un trabajo excelente al aplicar estas técnicas a los personajes de sus juegos.

Coarse Model
Cuando se aplica el teselado a un modelo elemental (izquierda), éste se suaviza (centro). Tras aplicar el mapa de desplazamiento (derecha), los personajes cobran una apariencia parecida a la que vemos en el cine. © Kenneth Scott, id Software 2008

Dado que el canal de teselado de DirectX 11 es programable, puede utilizarse para resolver una gran cantidad de problemas gráficos. Veamos cuatro ejemplos.

Mapas de rugosidad perfectos

Model Comparision

Fundamentalmente, los mapas de desplazamiento pueden utilizarse como sustitutivos de los mapas de rugosidad existentes en la actualidad. Técnicas como los mapas de normales crean la ilusión de producir superficies rugosas o en relieve mediante un mejor sombreado de píxeles. Todas estas técnicas sólo funcionan en determinados casos y sus resultados no son totalmente convincentes. Tomemos el caso de los mapas de oclusión de paralaje, una forma muy avanzada de mapas de rugosidad. Aunque producen la ilusión de superponer la geometría, sólo funcionan con superficies planas y únicamente en el interior del objeto (ver la imagen anterior). Los verdaderos mapas de desplazamientos no tienen ninguno de estos problemas y producen resultados creíbles desde todos los ángulos de visión.

Personajes más suaves

Smoothing Character
PN-Triangles realiza el suavizado automático de los personajes sin intervención del artisa. Incrementa el realismo de la iluminación y la geometría.

Los otros compañeros naturales del teselado son los algoritmos de retoque. Su misión es transformar un modelo tosco en un modelo más refinado con la ayuda del teselado. Uno bastante conocido es PN-Triangles (también conocido como N-patches). Este algoritmo convierte modelos de baja resolución en superficies curvas que luego se redibujan como una malla de triángulos finamente teselados. Muchos de los artefactos visuales que asumimos como inevitables en los juegos actuales (articulaciones de las extremidades con formas cuadradas, ruedas de coches donde se aprecian los polígonos o rasgos faciales de aspecto antinatural) pueden eliminarse con la ayuda de estos algoritmos. Por ejemplo, PN-Triangles se utiliza en Stalker: Call of Pripyat para crear personajes de apariencia más suave y orgánica.

El nivel de detalle perfecto a cualquier distancia

Habrás observado que, en juegos con grandes entornos abiertos, los objetos distantes a menudo aparecen y desaparecen sin motivo. Esto se debe al cambio que el motor del juego realiza entre diferentes niveles de detalle para mantener bajo control la carga de trabajo de procesamiento geométrico. Hasta ahora, no se había encontrado ninguna forma adecuada para variar el nivel de detalle de forma progresiva, ya que exigía mantener muchas versiones del mismo modelo o entorno. El teselado dinámico resuelve este problema, ya que varía el nivel de detalle sobre la marcha. Por ejemplo, cuando aparece en escena un edificio a larga distancia, se puede renderizar simplemente con diez triángulos. A medida que nos aproximamos a él, vemos sus rasgos más característicos y se añadirán triángulos para destacar elementos como las ventanas y el tejado. Cuando finalmente llegamos a la puerta, se necesitarán miles de triángulos solamente para reproducir los detalles de su antiguo pomo de bronce, donde cada hendidura ha sido meticulosamente labrada con mapas de desplazamiento. Con el teselado dinámico, la aparición y desaparición repentina de los objetos queda eliminada y los entornos del juego pueden ampliarse hasta niveles de detalle geométrico prácticamente ilimitados.

Objetos escalables a cualquier nivel

Para los desarrolladores, el teselado mejora enormemente la eficiencia de sus procesos de creación de contenidos. Al describir los motivos por los que utiliza esta técnica, Jason Mitchell, de Valve, explica: "Nos interesa la posibilidad de crear componentes que puedan ampliarse o reducirse. Es decir, queremos diseñar un modelo una vez y tener la posibilidad de ampliarlo hasta los niveles de calidad del cine... Y, al revés, queremos poder reducirlo de forma natural para responder a las necesidades de renderizado en tiempo real de cualquier sistema". Esta capacidad de crear un modelo una vez y utilizarlo en diferentes plataformas representa menos tiempo de desarrollo y, para el jugador de PC, la mayor calidad de imagen posible en su GPU.

Cómo manejan el teselado las GPU GeForce GTX 400

Las GPUs tradicionales utilizan un único motor de geometría para realizar las operaciones de teselado. Es el mismo enfoque utilizado para los primeros diseños de GPU, que empleaban un único canal de sombreado de píxeles. Tras ver cómo aumentaban los canales de píxeles de una a mútiples unidades paralelas y la importancia que esto ha tenido para el realismo en 3D, optamos por diseñar nuestra arquitectura de teselado de manera que fuera paralela desde el principio.

Las GPUs GeForce GTX 400 están formadas por un total de quince unidades de teselado, cada una de ellas dotada de hardware dedicado a la lectura de vértices, el teselado y las transformaciones de coordenadas. Operan con cuatro motores de rasterización paralela que transforman los triangulos generados en una perfecta secuencia de píxeles para sombreado. El resultado es un impresionante rendimiento de teselado: más de 1600 millones de triángulos por segundo sin altibajos. Si la comparamos con el producto más rápido de la competencia, la GeForce GTX 480 es hasta 7,8 veces más rápida, según los resultados registrados por el sitio independiente Bjorn3D.

Conclusión

Después de muchos años de ensayo y error, el teselado por fin ha cristalizado en el PC. Juegos tan asombrosos como Metro 2033 ya permiten ver el potencial de esta técnica. Con el tiempo, el teselado será tan crucial e indispensable como el sombreado de píxeles. NVIDIA se ha dado cuenta de ello y ha decidido facilitar el proceso creando una arquitectura de teselado paralela desde el principio. El resultado es la familia de GPUs GeForce GTX 400, una auténtica revolución en el realismo y el rendimiento del cálculo geométrico.



 
 
FacebookTwitterGoogle+LinkedInPinterest