Reinventamos los Gráficos: El Ray Tracing, la Inteligencia Artificial y el Sombreado Avanzado Brindan una Forma Completamente Nueva de Experimentar los Juegos | NVIDIA

Por Andrew Burnes el 27 de septiembre de 2018 | GeForce RTX GPUs Featured Stories Advanced Shading VRS Ray Tracing NVIDIA RTX Turing DLSS

Las tarjetas gráficas GeForce RTX son las más rápidas de la historia, ya que te ofrecen experiencias en 4K a 60 FPS en los juegos actuales. Además, incluyen las nuevas tecnologías de vanguardia que permiten las técnicas revolucionarias que aumentarán la fidelidad visual, incorporan los gráficos realistas, permiten nuevas experiencias y aumentan aún más el rendimiento.

De forma general, estas técnicas se agrupan en tres conjuntos: NVIDIA RTX Ray Tracing, inteligencia artificial y sombreados avanzados. A continuación, analizaremos todos los avances relacionados con los juegos que permite la nueva arquitectura Turing y, cuando corresponde, explicaremos cómo pueden mejorar con nuestras técnicas actuales y estándar para la industria.

El Ray Tracing en Tiempo Real para los Juegos

Durante décadas, el ray tracing se consideró el Santo Grial de las tarjetas gráficas, gracias a su capacidad única de lograr una fidelidad natural a todo lo que ocurre en la pantalla. El único problema es el rendimiento: es necesario realizar millones de operaciones de ray tracing por cuadro para lograr resultados de alta calidad y cada operación de ray tracing debe calcular la forma en que la luz incide en los objetos y cómo afecta a la apariencia de la escena.

Estos cálculos requieren mucho procesamiento de las CPU, al punto que es necesario usar granjas de servidores enteras para crear efectos complejos y mundos virtuales, como los que se ven cada día en las películas y programas de TV (en las producciones de alta calidad, las escenas y los fragmentos breves pueden tardar días en renderizarse).

Sin embargo, ahora hemos creado la Plataforma NVIDIA RTX acelerada por GPU y hemos lanzado las GPU GeForce RTX y Quadro RTX con núcleos RT dedicados, para acelerar rápidamente la creación de mundos y tomas de efectos especiales con ray tracing en Hollywood. En la industria de los juegos, las cosas funcionan de manera muy diferente: se juega en tiempo real, a una frecuencia mínima de 30 cuadros por segundo, y los jugadores pueden cambiar la cámara o lo que aparece en la pantalla en cualquier momento.

Por lo tanto, se requiere un enfoque diferente, uno donde el ray tracing pueda mejorar enormemente la fidelidad, sin hacer que el juego sea insoportablemente lento. Nuestra solución: la renderización híbrida, donde se aplica el ray tracing solo a algunos efectos para agregar reflejos, sombras e iluminación naturales a los mundos rasterizados de alta fidelidad a los cuales los desarrolladores dedicaron años para crear de forma artesanal.

El resultado es una enorme mejora en la calidad de la imagen, para que los juegos sean más realistas y cautivantes, pero sin dejar de ofrecer frecuencias de cuadros fluidas y aptas, incluso en los caóticos encuentros con 64 jugadores de Battlefield V.

Reflejos con Ray Tracing

Los reflejos con ray tracing demuestran el efecto de NVIDIA RTX; es ideal para demostrarles a tus amigos la capacidad de tu nueva GPU GeForce RTX. Al día de hoy, estos efectos ya se pueden disfrutar en juegos como Assetto Corsa CompetizioneAtomic HeartBattlefield VControl, and MechWarrior 5: Mercenaries. Además, pronto se anunciará la compatibilidad para muchos juegos más. En cada uno, los reflejos con ray tracing aumentan enormemente la calidad de imagen y la inmersión en todo el juego.

Antes, la mejor tecnología disponible para los reflejos eran los Reflejos espaciales en la pantalla (SSR) combinados con los mapas de entorno estáticos. Sin embargo, más allá de la capacidad del desarrollador, era casi imposible superar estas limitaciones.

Por ejemplo, los Reflejos espaciales en la pantalla solo podían mostrar reflejos en los objetos en la pantalla (los que ya eran visibles en otras partes del cuadro). Todos los objetos fuera de la pantalla (incluso los que están detrás de la cámara), que deberían reflejarse, se simulan con un mapa de cubos de baja resolución, lo que genera una imagen reflectante aplicada a las superficies (como las ventanas de un rascacielos en los juegos de acción con mundo abierto).

La limitación de los mapas de cubos es que solo representan el entorno reflejado como se ven desde un solo punto de la escena y, por lo tanto, pueden mostrar resultados físicamente imposibles en grandes objetos reflectante (además, comúnmente ves el mismo reflejo en varias ventanas y en diferentes ubicaciones, pero, cuando giras, la escena real es completamente diferente). Si bien existen algunas técnicas para actualizar los mapas de cubos de forma periódica, según la apariencia del mundo cercano, no resuelven los problemas inherentes de la técnica; por lo tanto, no pueden mostrar a las personas, vehículos o efectos en movimiento en tiempo real detrás de la cámara o el jugador.

Otro problema importante con SSR es que los reflejos renderizados no pueden mostrar detalles con oclusión, como un objeto grande detrás de otro, que, en la realidad, sería visible en el reflejo. Además, existen problemas con los reflejos que desaparecen cuando el jugador se mueve o gira la cámara, o cuando el jugador está demasiado cerca de la superficie o el objeto que se refleja; todo esto se debe a que los detalles que deben reflejarse están fuera de la pantalla.

Entonces, aparece NVIDIA RTX Ray Tracing, que soluciona todos estos problemas y, además, genera reflejos en tiempo real, de toda la escena y en alta resolución para mostrar los detalles que están delante, detrás, arriba y debajo del jugador o la cámara.

Para generar estos nuevos reflejos de alta calidad, se “emiten” “rayos” desde las superficies visibles hacia la cámara del jugador. Cuando interceptan objetos y superficies, los detalles en ese punto se usa junto con otra información, proveniente de otros rayos y puntos de intersección, para crear los reflejos.

Sin embargo, para crear resultados fotorrealistas, deben considerarse las propiedades de cada objeto y cada superficie para determinar si son reflectantes, si absorben la luz, si son lisas o rugosas, si son transparentes, y así.

Luego, si el desarrollador desea mostrar los reflejos dentro de los reflejos, se usa un “rebote” adicional” para enviar los rayos a nuevas direcciones según las propiedades de los objetos donde rebotaron originalmente. A medida que se tocan nuevos elementos del juego, la información en ese punto de intersección se aplica de forma subsecuente a los reflejos y la apariencia de la escena de actualiza según corresponde.

Por último, se aplica el Efecto Fresnel para darles a los objetos y superficies reflejos naturales (en la realidad, los bordes de una bola de vidrio son 100 % reflectantes, pero el centro de la esfera refleja solo una pequeña parte de la luz). Sin este efecto, cada reflejo sería igual de brillante en todos los puntos, lo que resulta irreal

Dos ejemplos de los increíbles reflejos en Battlefield V con las tarjetas gráficas GeForce RTX

Todo el proceso se produce millones de veces en cada milisegundo para crear reflejos naturales en tiempo real en toda la escena y solo es posible con frecuencias de cuadros fluidas y aptas para el juego gracias a las unidades de ray tracing en tiempo real de GeForce RTX, llamados núcleos RT, que se diseñaron específicamente para esta tarea (para obtener más información, consulta la página 30 del documento técnico sobre Turing). La mejora es asombrosa y eleva el límite para la fidelidad en todos los otros juegos.

Para ver más capturas de pantalla de los increíbles reflejos con ray tracing en tiempo real de NVIDIA RTX, visita nuestros artículos sobre Assetto Corsa CompetizioneAtomic HeartBattlefield VControlMechWarrior 5: Mercenaries.

Iluminación Global Difusa con Ray Tracing

Las capacidades del ray tracing en tiempo real de las GPU GeForce RTX también nos permiten modelar de forma más precisa el efecto de la luz cuando rebota en las superficies de una escena, lo que les permite a los desarrolladores agregar la iluminación global difusa con ray tracing a sus juegos.

Si no conoces el término “iluminación global”, se refiere al procesamiento de todas las interacciones de luces en una escena, lo que incluye los aportes indirectos como resultado de los rebotes de la luz directa de una superficie a la otra. Antes, se lograba mediante mapas de luces procesados previamente, sondas de luces basadas en imágenes, armónicas esféricas y mapas de luces reflectivas, además de luces ubicadas por el artista para reforzar la iluminación en los lugares donde estas técnicas no eran suficiente.

Estas técnicas presentaban muchas limitaciones, la más importante era que la iluminación dinámica no rebotaba ni iluminaba más allá del área donde daba la luz.

Por ejemplo, imagina una habitación oscura con una luz brillante que entra por una ventana. Con las técnicas tradicionales, todo lo que recibe luz directa se ilumina, pero las áreas iluminadas no rebotan la luz y no iluminan a los elementos cercanos, cuando lo harían en la realidad.

Con ray tracing, ahora podemos modelar de forma más precisa la iluminación difusa, indirecta y dinámica que se refleja en las superficies de una escena, lo que les permite a los desarrolladores diseñar escenas dinámicas con iluminación indirecta más natural que se actualiza en tiempo real a medida que cambia la luz y ocurren eventos en el mundo del juego. En otras palabras, la luz rebota de forma natural para iluminar y hacer brillar a todos los detalles cercanos. Si el sol se mueve o las persianas de la ventana se abren, la iluminación cambia de forma realista, para que puedas ver el lugar de forma completamente diferente.

Este es un ejemplo de Metro Exodus, que se lanzará en 2019:

Para acercarse a la iluminación global con ray tracing de alta calidad, algunos desarrolladores utilizaron un proceso llamado “renderizado previo”, en el que los efectos de la luz en objetos estáticos de una escena se calculan y se escriben como texturas que luego se superponen sobre la geometría del juego. Los resultados son excelentes en los juegos con iluminación fija y geometría estática, o momentos del día establecidos, y mejora el rendimiento del juego, dado que no es necesario renderizar efectos de iluminación global. Sin embargo, la iluminación renderizada previamente no puede manejar los cambios dinámicos que afectan enormemente la iluminación, como sucede en la apertura de una sombra en el video de Metro Exodus que se ve a continuación.

Además, el renderizado previo lleva mucho tiempo, debe ejecutarse de nuevo cada vez que se compila una versión del juego y la iteración de la luz renderizada previamente puede ser una verdadera molestia en el proceso de creación de contenido.

Ahora, los desarrolladores pueden usar NVIDIA RTX y el ray-tracing para previsualizar de forma instantánea la iluminación renderizada previamente y cualquier otra mejora, lo que acelera enormemente el tiempo de desarrollo y les brinda más oportunidades para la iteración y realizar modificaciones para la máxima fidelidad. Una vez que estén contentos con el resultado, pueden desactivar el ray tracing y renderizar la iluminación para las GPU más antiguas y otras plataformas.

Un vistazo a Control de Remedy Entertainment, que incluye la  iluminación global mejorada con ray tracing

Gracias a la Iluminación global difusa con ray tracing en tiempo real, los desarrolladores ahora pueden, por primera vez en la historia, desarrollar mundos realistas y correctamente iluminados que reaccionan de forma dinámica a los cambios en la iluminación y en la geometría. Esto es muy notorio en Control, donde los niveles que cambian de forma afectan enormemente a la iluminación de la escena para cambiar por completo su apariencia. En el caso de los reflejos con ray tracing, el impacto en la apariencia de un juego es inmenso y te dan ganas de que todos los juegos tengan los efectos NVIDIA RTX.

Si quieres ver más capturas de pantalla y videos de la Iluminación global difusa con ray tracing, visita nuestros artículos sobre Control y Metro Exodus.

Oclusión Ambiental con Ray Tracing

La Oclusión ambiental (AO) es una técnica que se usa para agregar sombras de contacto en los lugares donde los objetos o las bloquean la luz ambiental, por ejemplo, alrededor de la base de una roca. Esto evita que los objetos se muestren como si flotaran en las superficies, lo que le da más realismo y naturalidad a la escena.

Hasta ahora, la solución más común para lograr la mejor AO era nuestra técnica HBAO+, que mejoraba la SSAO considerablemente en cuanto al rendimiento y la fidelidadSin embargo, en definitiva, seguía siendo una técnica de espacio en la pantalla y, por lo tanto, no lograba generar los detalles ocultos y fuera de la pantalla.

Con la Oclusión ambiental con ray tracing (RTAO), la calidad y la precisión mejoraron enormemente, es posible generar los detalles ocultos y fuera de la pantalla, como la parte inferior de una mesa, lo que da como resultado una escena más realista.

El video de Metro Exodus también incluye ejemplos de la Oclusión ambiental con ray tracing en tiempo real

A menudo, se subestima la importancia de la Oclusión ambiental para la inmersión y el realismo de una escena: no es algo tan sorprendente como un reflejo o una explosión ni tampoco se nota de inmediato como la sombra de un jugador. Sin embargo, si no está activada, parece que falta algo en la escena. Los pliegues en la armadura no tienen sombras, no hay rincones oscuros en la unión de dos paredes y todos los objetos parecen flotar sobre las superficies.

Con el ray tracing, podemos mejorar aún más este efecto crucial para mejorar los detalles de cada parte de los juegos que lo usan. Si quieres conoces más ejemplos de este efecto en acción, consulta nuestros artículos sobre Assetto Corsa CompetizioneAtomic HeartMechWarrior 5: Mercenaries, y Metro Exodus.

Sombras con Ray Tracing

En los últimos años, las sombras en los videojuegos han evolucionado muchísimo, gracias a las nuevas funciones que les permiten replicar mejor la apariencia de las sombras del mundo real. Hasta la aparición del ray tracing en tiempo real, nuestra técnica Sombras híbridas con frustum tracing (HFTS) era la mejor opción; sin embargo, tanto esta técnica como otras técnicas de rasterización eran, en definitiva, un conjunto de trucos astutamente programados para intentar emular la apariencia de las sombras.

Sin la HFTS, los desarrolladores debían equilibrar con cuidado las propiedades de los mapas de sombras tradicionales para maximizar la precisión, el detalle y las distancias de visualización, al mismo tiempo que intentaban evitar los cortes en las sombras, el acné de sombra (el auto sombreado erróneo) y la desconexión de sombras (la incapacidad de conectarse por completo con la base del objeto que genera la sombra, lo que da la sensación de que flota).

Con ray tracing, estos problemas tienen solución. Para solucionarlos, emitimos millones de rayos a una escena para detectar de forma realista los personajes, los objetos y el follaje que bloquea la luz, lo que da como resultado sombras genuinamente naturales por primera vez en la historia. Más allá de la incorporación de sombras precisas, por primera vez podemos lograr interacciones grandes y complejas, sombreado traslúcido en tiempo real y muchas otras técnicas, con un nivel de detalle que excede enormemente los resultados actuales.

De forma específica, el ray tracing permite que los desarrolladores usen las fuentes de luz en áreas para generar penumbras más grandes y corregir físicamente el endurecimiento del contacto, por ejemplo, que las sombras se vuelvan más nítidas a medida que se acercan al objeto que las genera. Los beneficios de esta técnica se pueden ver claramente en Shadow of the Tomb Raider, uno de los primeros juegos que incorporó las sombras con ray tracing:

Si quieres ver más ejemplos de las sombras con ray tracing, lee nuestros artículos sobre Assetto Corsa CompetizioneAtomic Heart y MechWarrior 5: Mercenaries.

El Ray Rracing en Tiempo Real Pronto Llega a los Juegos

Reflections, shadows, ambient occlusion, and global illumination are all best-realized with ray tracing. Now, we’re finally able to bring them to games and gamers, delivering unprecedented fidelity, realism and immersion. As such, real-time ray tracing on GeForce RTX graphics cards truly reinvents graphics, replacing the tricks and approximations of current techniques with realistic calculations based on the real-world behavior of light.

See ray tracing in action in our game articles, and experience them for yourself later this year when playing NVIDIA RTX games on a GeForce RTX graphics card.

Funciones Aceleradas por Inteligencia Artificial en los Juegos

Además de los “núcleos RT” que potencian el ray tracing de NVIDIA RTX, nuestras nuevas tarjetas gráficas GeForce RTX también cuentan con “núcleos Tensor” para las tareas de Inteligencia artificial (si quieres conocer los detalles técnicos, consulta la página 21 del Documento técnico sobre Turing).

Supermuestreo de Aprendizaje Profundo (DLSS)

En los años anteriores, el fundador y CEO de NVIDIA Jensen Huang mostraba una demostración de una red neural con aprendizaje profundo, en la que la inteligencia artificial decidía si la foto de una mascota mostraba un gato o un perro. A medida que la máquina recibía más imágenes y tomaba las decisiones correctas, mejoraba cada vez más hasta que, finalmente, daba la respuesta correcta en cada ocasión.

Usamos esta base del aprendizaje de máquinas para crear una nueva técnica de renderización llamada Super muestreo de aprendizaje profundo (DLSS). Aumenta el rendimiento enormemente y mejora la calidad de la imagen; además, su técnica de suavizado ofrece una estabilidad temporal y una claridad de imagen mejores, en comparación con las técnicas de Suavizado temporal (TAA) que se usan comúnmente.

Para que funcione, es necesario realizar algunos pasos, a fin de aprovechar nuestra tecnología de vanguardia y experiencia con el aprendizaje profundo y IA.

Primero, mostramos una red neural: cientos de capturas de pantalla de cada juego con DLSS con hasta 64 veces de super muestreo (64xSS) y, luego, otro conjunto de imágenes sin el suavizado. Luego, le ordenamos a la red que revise y compare las capturas a fin de aprender cómo alcanzar la calidad de 64xSS sin el enorme costo de rendimiento que implica esa técnica.

A medida que la red repite el proceso, sus algoritmos van mejorando hasta que, finalmente, aprende a automatizar el proceso y proporciona un suavizado con una calidad similar al de 64xSS, pero sin los problemas del TAA, como el desenfoque en toda la pantalla, el desenfoque basado en el movimiento, el ghosting y los detalles indeseados en las transparencias.

Por supuesto, no todo el mundo dispone de una supercomputadora, por lo que cargamos los datos de la capacitación de nuestra red neural en un pequeño archivo que se puede incluir en un driver Game Ready o transmitirse a tu sistema mediante GeForce Experience. De esta manera, tu GPU RTX sabrá de forma automática cómo renderizar mejor cada juego con DLSS, lo que te garantiza resultados óptimos siempre.

Por último, aprovechamos la calidad enormemente superior tipo 64xSS del Super muestreo de aprendizaje profundo y nuestros filtros de alta calidad para reducir la resolución de la renderización interna del juego. Esto acelera el rendimiento en gran medida sin afectar negativamente la calidad de la imagen, como puedes ver en la evaluación del DLLS de Final Fantasy XV: Windows Edition.

Este aumento en el rendimiento, junto con el rendimiento mejorado de la rasterización de las tarjetas gráficas GeForce RTX, duplica la frecuencia de cuadros en la resolución 4K, en comparación con las tarjetas gráficas Serie 10 con la arquitectura Pascal. Con este rendimiento adicional, puedes llevar al máximo los valores de configuración, mientras disfrutas de una experiencia muy fluida a 60 FPS o más, es decir, la experiencia de gaming perfecta.

Al momento de escribir este artículo, 25 juegos incorporaron DLSS, entre los que se incluyen importantes títulos como Final Fantasy XV: Windows Edition y PUBG:

  • Ark: Survival Evolved from Studio Wildcard
  • Atomic Heart from Mundfish
  • Darksiders III from Gunfire Games / THQ Nordic
  • Dauntless from Phoenix Labs
  • Deliver Us The Moon: Fortuna from KeokeN Interactive
  • Fear The Wolves from Vostok Games / Focus Home Interactive
  • Final Fantasy XV: Windows Edition from Square Enix
  • Fractured Lands from Unbroken Studios
  • Hellblade: Senua's Sacrifice from Ninja Theory
  • Hitman 2 from IO Interactive / Warner Bros.
  • Islands of Nyne from Define Human Studios
  • Justice from NetEase
  • JX3 from Kingsoft
  • KINETIK from Hero Machine Studios
  • Mechwarrior 5: Mercenaries from Piranha Games
  • Outpost Zero from Symmetric Games / tinyBuild Games
  • Overkill's The Walking Dead from Overkill Software / Starbreeze Studios
  • PlayerUnknown’s Battlegrounds from PUBG Corp.
  • Remnant: From The Ashes from Arc Games
  • SCUM from Gamepires / Devolver Digital
  • Serious Sam 4: Planet Badass from Croteam / Devolver Digital
  • Shadow of the Tomb Raider from Square Enix / Eidos-Montréal / Crystal Dynamics / Nixxes
  • Stormdivers from Housemarque
  • The Forge Arena from Freezing Raccoon Studios
  • We Happy Few from Compulsion Games / Gearbox

Visita GeForce.com para conocer los nuevos juegos que agregan DLSS y leer sobre el lanzamiento de DLSS en estos juegos.

Resolución Superior con IA

Al agrandar una imagen, se estiran los píxeles, por lo que se pierde detalle y claridad en el proceso. Con la IA y un nuevo proceso llamado “resolución superior con IA”, podemos crear nuevos píxeles al interpretar los contenidos de la imagen antes de sumar los nuevos datos de forma inteligente. Esto da como resultado un agrandamiento más preciso que preserva correctamente los efectos de profundidad de campo y otros detalles artísticos.

En NVIDIA Ansel, aprovechamos esta tecnología para la captura de fotos de mayor resolución en más de 200 juegos.

Si quieres obtener más información, visita nuestro exclusivo artículo de GeForce Experience.

Sombreado Avanzado

Un sombreador es un programa que se ejecuta en la GPU y controla varios aspectos del proceso de renderización: la forma en que se ubican los vértices en relación con la vista actual de la cámara, la forma en que los objetos más grandes se dividen en triángulos más pequeños a medida que se acercan al visualizador o la forma en que la luz se refleja en un determinado punto de la superficie de un objeto. Esto les brinda a los desarrolladores el control necesario para producir las imágenes impresionantes que vemos actualmente en los juegos.

NVIDIA fue una empresa pionera en el sombreado programable con la presentación de la primera GPU programable del mundo, la GeForce 3, en 2001. Durante los últimos 17 años, hemos presenciado increíbles avances en las tecnologías de sombreado, lo que da como resultado juegos más realistas, más detallados y con mayor riqueza visual.

La arquitectura Turing representa el punto más alto de estos avances, ya que presenta cuatro nuevas tecnologías de sombreado que darán lugar a estrategias de renderización innovadoras para llevar los gráficos en tiempo real de los juegos a nuevos niveles de rendimiento y fidelidad visual.

Sombreado de Tasa Variable

Gracias al extendido uso de los monitores 4K y headsets de realidad virtual, los desarrolladores exigen más control sobre la forma en que los ciclos de GPU aplican las sombras en los píxeles de la pantalla. Por ejemplo, en un headset de realidad virtual, los píxeles en la periferia del campo de visión no requieren tanto sombreado como los píxeles en el centro de la imagen. De igual manera, las superficies con texturas que cambian de forma fluida o la iluminación difusa y suave pueden reutilizar la información de sombreado en los píxeles circundantes, en lugar de aplicar el sombreado en cada uno de los píxeles de cero.

Otro ejemplo son los objetos que se mueven rápidamente en la escena: no es necesario aplicar sombras en cada uno de los píxeles de un auto desenfocado que atraviesa rápidamente la pantalla, dado que su velocidad no te permite percibir todos los detalles y efectos.

Para resolver los desafíos de estas situaciones, Turing implementa la avanzada tecnología de programación de sombreado por píxel llamada Sombreado de tasa variable (VRS). Con VRS, los desarrolladores pueden controlar por completo la forma en que se funciona el sombreado en las diferentes partes de la pantalla.

En los objetos en el centro de una pantalla de realidad virtual o las superficies muy detalladas en un monitor, se aplica la máxima tasa de sombreado (incluso varias veces por pixel); al mismo tiempo, en los píxeles distorsionados por el lente en un headset de realidad virtual o en los píxeles de objetos que se mueven rápidamente en la pantalla, se aplica una tasa más baja. Además, todo esto es posible con un solo cálculo del sombreado.

Como resultado, los juegos pueden asignar de forma más inteligente el trabajo de sombreado y dedicar más tiempo a las sombras de objetos importantes en la escena, para “compartir” de forma eficaz los recursos de sombreado de otros objetos que no los necesitan tanto.

Mediante VRS, hemos creado el Sombreado adaptable de movimiento (MAS), el Sombreado adaptable de contenido (CAS) y la Renderización Foveated, tres técnicas que permiten acelerar el rendimiento de formas específicas.

Sombreado Adaptable de Movimiento (MAS)

El cambio de la tasa de sombreado según el grado de movimiento presente en un área específica de la pantalla es una de las aplicaciones más eficaces del Sombreado adaptable de movimiento. Esta técnica se llama el Sombreado adaptable de movimiento (MAS).

El Sombreado adaptable de movimiento primero calcula la forma en que los objetos se mueven por la pantalla. Por ejemplo, en un juego de carreras en tercera persona, el auto se verá más estático y, de esta forma, es necesario aplicar la tasa máxima de sombreado para preservar los detalles importantes. Por el contrario, los objetos en la periferia de la pantalla, como las señales de tránsito o las líneas de carriles, se moverán muy rápidamente a medida que se acercan a la cámara y, por lo tanto, allí es posible aplicar el sombreado con menos frecuencia.

Sin VRS, es necesario aplicar el sombreado en cada uno de los píxeles (1 × 1). Con VRS, un desarrollador tiene hasta siete opciones para elegir en cada área de píxeles de 16 × 16, lo que incluye un resultado de sombreado de color para cuatro píxeles (2 × 2) o 16 (4 × 4), o áreas rectangulares como de 1 × 2 o 2 × 4. La superposición de colores en la captura de pantalla muestra una posible aplicación de VRS, es posible aplicar la tasa máxima de sombreado en el automóvil (área azul) mientras que, en la parte cerca del vehículo, el sombreado se aplica en uno de cada cuatro píxeles (área verde) y, en la ruta a izquierda y derecha que está desenfocada por el movimiento, el sombreado se aplica en uno de cada ocho píxeles (área amarilla).

Según la información del movimiento, el juego calcula las tasas de sombreado correspondientes para cada espacio de la pantalla y envía esta información al hardware del Sombreado de tasa variable de Turing, que controla la programación del sombreador de píxeles. A partir de este punto, el resto del motor del juego puede seguir trabajando sin importar lo que sucede, lo que hace que esta técnica sea relativamente fácil de integrar en los juegos existentes. Por supuesto, esto le brinda al jugador un mejor rendimiento con un impacto apenas perceptible en la calidad de la imagen.

Sombreado Adaptable de Contenido (CAS)

Con el Sombreado adaptable de contenido, la tasa de sombreado adaptable de contenido se reduce al considerar factores como la coherencia de color en el tiempo y el espacio. En otras palabras, en áreas con una cantidad relativamente baja de detalles, que no cambian de cuadro a cuadro, como el cielo y los skyboxes, la tasa de sombreado se puede reducir en los cuadros sucesivos.

En el siguiente ejemplo, el detalle estático alrededor de los paneles de control animados cuenta con una tasa de sombreado menor, a fin de mejorar el rendimiento:

Para aumentar el rendimiento aún más, los desarrolladores pueden utilizar las técnicas MAS y CAS al mismo tiempo.

Renderización Foveated

La tercera aplicación de VRS es la Renderización Foveated, que ajusta las tasas de sombreado según lo que el gamer está observando cuando se utiliza la tecnología de seguimiento de ojos en la realidad virtual o en un monitor de escritorio con esta tecnología, como el Tobii 4C.

La renderización Foveated se basa en el hecho de que la resolución que puede percibir nuestro ojo depende del ángulo de visión. Tenemos una resolución visual máxima para los objetos en el centro de nuestro campo de visión, pero una resolución visual mucho menor para los objetos en la periferia. Por lo tanto, si se conoce la posición de los ojos del observador, podemos aplicar una tasa de sombreado más baja en la periferia y tasas más altas en el centro del campo de visión para maximizar la calidad de la imagen en todo momento.

Renderización de Visión Múltiple

La arquitectura Pascal presentó el Estéreo de una sola pasada, una técnica que acelera el rendimiento en RV al enviar la geometría solo una vez para ambas pantallas, antes de mover la posición de la geometría hacia la izquierda o la derecha, en lugar de renderizar cada ojo de forma independiente.

Con la Renderización de visión múltiple (MVR), podemos renderizar hasta cuatro vistas, que se pueden ubicar arbitrariamente en la escena. Para los gamers, esto permite el uso de headsets ultra anchos (no coplanares) e inclinados con enormes campos de visión y una configuración con mayor resolución que usa pantallas apiladas en el ojo izquierdo y derecho. Además, puede acelerar la renderización en las pantallas holográficas donde es necesario tener en cuenta varios puntos de vista.

En las aplicaciones que no son de realidad virtual, la renderización de visión múltiple se puede usar para renderizar varios mapas de sombras, lo que permite que los desarrolladores generen sombras más definidas y de mayor resolución (si no usan ray tracing).

Sombreado de Redes

l mundo real es un lugar con geometrías complejas y muchos detalles visuales, en donde las escenas del exterior están compuestas por cientos de miles de elementos (rocas, árboles, hojas, etc.).

Los procesos gráficos actuales, con vértices, teselados y sombreadores de geometría, son muy eficaces para renderizar los detalles de un solo objeto; sin embargo, presentan limitaciones cuando intentan replicar los detalles del mundo real. De forma específica, cada objeto requiere su propia invocación de dibujo de la CPU. Dado que el modelo del sombreador es un modelo por proceso, los tipos de algoritmos que se pueden usar están limitados.

Las escenas del mundo real, como estas, tienen muchos objetos complejos y diferentes que deben renderizarse en tiempo real con los procesos gráficos actuales.

El procesamiento eficaz de la geometría es uno de los pilares de los gráficos por computación en tiempo real, y NVIDIA tiene un largo historial de innovación en este aspecto: nuestra primera GPU, GeForce 256, liberaba a la CPU de realizar las tareas de procesamiento exigentes; GeForce 3 fue la primera GPU programable del mundo, para darles a los desarrolladores un control sin precedentes sobre el procesamiento de las geometrías; y la arquitectura Fermi incorporó el teselado, un técnica muy usada en las películas para representar los detalles de las geometrías con la mejor escala.

Ahora, con la realidad virtual, el ray tracing y los juegos complejos que buscan el foto-realismo, la demanda para una fidelidad geométrica más detallada es más alta que nunca. Para atender estos crecientes requisitos, la arquitectura Turing presentó el Sombreado de redes, un modelo programable para la geometría completamente nuevo, que combina la flexibilidad de los sombreadores por computación con la eficacia del proceso de gráficos programados por hardware. Lo mejor de todo, el Sombreado de redes es un nuevo modelo más flexible que les permite a los desarrolladores eliminar los obstáculos en las invocaciones de dibujos a la CPU mediante el uso de algoritmos más eficientes para generar triángulos.

Con el Sombreado de redes, los desarrolladores ya no tienen que preocuparse por procesar vértices individuales o elementos primitivos individuales. En su lugar, puedes aprovechar la potencia de un nuevo modelo de programación, donde los procesos programados por hardware pueden contribuir al procesamiento de un resultado de forma mucho más eficiente que si lo hicieran de manera independiente.

Por ejemplo, un vértice se comparte entre diferentes triángulos. Para determinar si un determinado triángulo es visible o no, el motor del juego deberá procesar cada vértice del triángulo y combinar los resultados. En el proceso tradicional, cada triángulo se procesa de forma independiente y, por lo tanto, los vértices compartidos se procesarán de forma redundante varias veces.

Mesh Shading Pipeline vs. Traditional Pipelines

Con el Sombreado de redes, el desarrollador puede estructurar el procesamiento para que la parte de cada vértice se realice solo una vez y, luego se comparta entre todos los triángulos que hacen referencia a ese vértice.

Otra característica del Sombreado de redes es que permite un refinamiento de geometrías mucho más detallado. Con el teselado, un determinado parche, o triángulo, se puede desglosar en un patrón fijo de triángulos más pequeños. Con el Sombreado de redes, los desarrolladores pueden controlar por completo la forma en que se lleva a cabo el refinamiento: por ejemplo, pueden programar el hardware para que genere un árbol entero, con todas la corteza y las hojas detalladas, a partir de una descripción muy simple de dónde está el tronco y las ramas.

En resumen, el Sombreado de redes permite mundos extremadamente detalladas que no hemos visto nunca antes. Piensa en la detallada vegetación y las capas subterráneas, la suciedad, el caos y los detalles a pequeña escala son importantes para hacer que las escenas de los juegos luzcan menos “sintéticas” y, por lo tanto, se acerquen más a lo que vemos en el mundo real.

Para demostrarlo, hemos creado la demostración de Nivel de detalle (LoD) llamada “Asteroides”, que muestra la forma en que el Sombreado de redes mejora enormemente el rendimiento y la calidad de la imagen al renderizar entre 200 000 y 350 000 asteroides de forma simultánea.

Si no conoces LoD, es una técnica que se usa en casi todos los juegos para escalar la calidad de un objeto según su distancia desde la cámara del jugador. Por ejemplo, analicemos un árbol: no tiene sentido renderizar cada hoja y cada rama a una distancia que no puedes verlas; por lo tanto, se reduce el detalle del árbol en lugar de mostrar su forma y tamaño general. De esta forma, se mantiene el rendimiento y el juego puede disponer de los recursos necesarios para renderizar los árboles cercanos con la máxima fidelidad. Este proceso de aplica a cada modelo y objeto en la pantalla, a lo largo del juego, por lo que es fácil imaginar cómo el Sombreado de redes aumentará el rendimiento y la calidad de la imagen.

En la demostración Asteroides, el Nivel de detalle de hasta 350 000 asteroides se ajusta dinámicamente con el Sombreado de redes, pero mantiene un nivel de rendimiento y detalle que, de otra forma, sería imposible de lograr.

Con la renderización tradicional, la CPU se hace cargo de la administración de LoD, lo que crea un enorme obstáculo en el proceso de renderización. Con el Sombreado de redes, la administración de LoD dinámico se ejecuta de forma autónoma en la GPU. Por lo tanto, en la demostración, ofrecemos la posibilidad de alternar entre el LoD dinámico del Sombreado de redes y el LoD tradicional que depende de la CPU. El resultado: un rendimiento y una calidad de imagen claramente superiores.

A continuación, la comparación interactiva muestra el modo de renderización en el esquema de página de la demostración Asteroides, donde puedes ver claramente muchos más detalles geométricos en los asteroides cuando se utiliza el Sombreado de redes (no se utiliza el teselado).

Asteroides NVIDIA Mesh Shading Demo, Comparaciones Interactivas

Con el Sombreado de redes, es posible dibujar 52 076 180 triángulos, mientras que con el LoD tradicional, ¡se dibujan 374 885 024 triángulos! Esto representa un 86 % menos de triángulos, lo que mejora el rendimiento de forma significativa. Además, pudimos mejorar la calidad de la imagen.

Con estos beneficios, el Sombreado de redes permite crear mundos vastos y detalladas, como nunca antes.

Sombreado de Espacio de Textura

Entonces, la apariencia de algunos objetos cambiará cuando cambias tu punto de vista, en especial aquellos que son brillantes o resplandecientes. Por el otro lado, la apariencia de la mayoría de los objetos cambiará muy poco cuando mueves la cabeza y, por lo tanto, recalcular nuevamente los mismos colores exactos para reproducir esos objetos en cada cuadro es un gasto de los preciosos ciclos de GPU. Sería mucho más eficaz aplicar una tasa menor de sombreado a esos objetos (digamos un tercio o, incluso, un poco menos) y reutilizar los colores del objeto (o “téxeles” como se los conoce) que ya se calcularon anteriormente. Este enfoque de reutilizar el trabajo es muy importante en ray tracing y, en especial, en el caso de la iluminación global, que es un ejemplo muy común del procesamiento de sombreado muy costoso y que cambia lentamente.

Esta técnica se conoce como Sombreado de espacio de textura. Los cálculos no se realizan cuadro a cuadro en el espacio de la pantalla (es decir, desde el punto de vista del gamer), sino que se calculan con una tasa de sombreado diferente en el espacio de textura (básicamente, desde el punto de vista del objeto). ¿Por qué el espacio de textura?  Porque, hoy en día, todos los objetos en los juegos tienen texturas y estas son independientes del punto de vista del gamers, por lo que son la opción perfecta para almacenar los colores de los objetos con sombras y “transmitirlos” de cuadro a cuadro.

Esta misma técnica también se puede aplicar de forma eficaz en la realidad virtual, debido a que nuestros ojos están bastante cerca, la gran mayoría de las cosas que ven con un ojo también son percibidas por el otro ojo. La principal diferencia no es el sombreado de estos objetos (por ejemplo, con tu ojo izquierdo, ves el lápiz en el escritorio con el mismo color amarillo que con el ojo derecho), sino la orientación. De esta forma, con el Sombreado de espacio de textura puedes “tomar prestado” los cálculos de sombreado de un ojo y usarlos en el otro ojo, básicamente para completar la carga de trabajo del sombreado. Si el rendimiento está limitado por el sombreado por píxel en el juego, entonces, en teoría, el Sombreado de espacio de textura puede duplicar la frecuencia de cuadros.

Con el Sombreado de espacio de textura, el motor del juego no aplicará el sombrado a todos los píxeles rasterizados de inmediato. En su lugar, primero identificará los téxeles a los que hacen referencia los píxeles que rasterizó. Esta operación es muy similar a lo que hace una unidad de textura cuando encuentra los téxeles necesarios para una determinada operación de texturizado. Este conjunto de téxeles queda en fila para el sombreado, que tendrá lugar luego. Ten en cuenta que, durante este proceso, es posible que diferentes píxeles hagan referencia al mismo texel para mayor eficacia. Por supuesto, no queremos aplicar sombreado a téxeles de forma redundante. De esta manera, el motor del juego deberá realizar lo que se conoce como deduplicación de solicitudes de sombreado, a fin de aislar las referencias de texel únicas y garantizar que se aplique sombreado a cada texel solo una vez.

Una vez que se identifica el conjunto de referencias a un único texel, el juego aplicará el sombreado y almacenará los resultados en las texturas correspondientes para volver a utilizarlos más tarde. Esto es comparable al sombreado de píxeles, excepto que, en lugar de aplicar el sombreado en los píxeles en la pantalla, se aplica en los téxeles en una textura.

Por último, los téxeles procesados se pueden usar para calcular sus correspondientes colores de píxeles, de la misma forma en que se usan las texturas estáticas hoy en día. Este paso es extremadamente económico, dado que simplemente realizar una sola operación de texturizado.

El proceso de encontrar el conjunto de téxeles visible y aislar los únicos requiere mucho procesamiento, es por eso que anteriormente las aplicaciones no podían afrontar el Sombreado de espacio de textura. La arquitectura Turing resuelve este problema al incluir la aceleración de hardware en este paso clave: La unidad de textura de Turing ahora es capaz de proporcionar la información sobre los téxeles directamente al sombreador. Además, los nuevos datos en paralelo hacen que la reduplicación sea muy eficiente.

Si bien el Sombreado de espacio de textura puede parecer un paso bastante simple y lógico, existen algunos obstáculos que evitaron que esta técnica se utilice ampliamente.

Primero, los juegos modernos reutilizan muchos objetos, incluidas las texturas. Si ves un bosque en el juego, es muy poco probable que cada hoja tenga su propia textura. Por el contrario, hay muchas posibilidades de que las hojas provengan de un pequeño conjunto de modelos y texturas de hojas. Estos objetos no funcionan con el Sombreado de espacio de textura, porque todos los objetos visibles deben tener sus propias texturas, ¡no se permite compartirlas! Imagina si no implementaras esto, que todas las hojas de un árbol tengan la misma textura, y luego aplicas el sombreado en una de ellas de forma manual. ¡El sombreado se aplicaría en todas las hojas del árbol de forma simultánea! Esto es lo primero con lo que deben lidiar los desarrolladores: asegurarse de que cada objeto tenga su propia textura, a la cual se puede aplicar el sombreado de forma independiente de los demás objetos.

Por lo tanto, el Sombreado de espacio de textura requiere una gran cantidad de análisis con respecto a la forma en que se desarrollan los juegos. Sin embargo, una vez que finaliza este paso, las posibilidades son infinitas: aparecen nuevas formas de llevar a cabo la renderización, lo que ofrece beneficios tanto para el ray tracing como para la rasterización para generar imágenes fotorrealistas con frecuencias de cuadros altas, sin comprometer el rendimiento. La compatibilidad del hardware con la arquitectura Turing para el Sombreado de espacio de textura permite que estos enfoques híbridos finalmente sean posibles.

Reinventamos los Gráficos para la Próxima Generación de Juegos

Las tarjetas gráficas NVIDIA GeForce RTX ofrecen la experiencia de gaming en PC definitiva. Gracias a la nueva arquitectura de GPU NVIDIA Turing y la revolucionaria plataforma RTX, las tarjetas gráficas RTX reúnen el ray tracing en tiempo real, la inteligencia artificial y el sombreado programable en un solo lugar. Es una forma completamente nueva de experimentar los juegos.

Si quieres conocer los juegos que integran las revolucionarias tecnologías GeForce RTX, visita GeForce.com.

Comentarios