Ray Tracing vs Renderizado Rasterizado - Explicación

Tras el lanzamiento de la familia de GPU Turing de Nvidia en 2018, el mundo de los juegos experimentó un aumento exponencial en la discusión sobre una función conocida como 'Ray Tracing'. La entonces nueva serie de tarjetas gráficas 'RTX' de Nvidia trajo soporte para algo llamado 'Real-Time Ray Tracing' en los juegos. La mayoría de las personas no estaban seguras de qué era esta nueva característica y por qué Nvidia la impulsaba tanto, pero al mismo tiempo estaban entusiasmados e interesados ​​en la tecnología. Ray Tracing fue un punto tan importante según Nvidia que consideraron necesario ponerlo en el nombre de los productos que estaban lanzando. La nueva serie de tarjetas GeForce “RTX” reemplazó la variedad anterior “GTX” cuando se trataba de los SKU superiores como los SKU 60,70,80 y -80Ti que Nvidia suele lanzar.



La Nvidia GeForce RTX 3080 es una de las tarjetas gráficas más rápidas para admitir Ray Tracing - Imagen: Nvidia

La serie de tarjetas gráficas RTX 2000 de Nvidia trajo consigo varios cambios de hardware que permitieron la compatibilidad con Ray Tracing en los juegos. Las nuevas tarjetas gráficas basadas en Turing incluían núcleos especiales que se dedicaban a este proceso y se conocían como RT Cores. El propósito de los núcleos RT era manejar específicamente todo el cálculo gráfico que se requería para hacer posible el Ray Tracing en tiempo real en los juegos. Nvidia también complementó las tarjetas con núcleos CUDA adicionales para aumentar la potencia bruta de las tarjetas, al tiempo que agregó un nuevo conjunto de núcleos conocidos como Tensor Cores. Estos núcleos estaban destinados a ayudar en aplicaciones de inteligencia artificial y aprendizaje profundo, como una nueva forma de técnica de ampliación conocida como Deep Learning Super Sampling. Ya hemos hablado en detalle de Deep Learning Super Sampling o DLSS en Este artículo , donde puede obtener más información sobre la técnica de escalado impulsada por IA.



El trazado de rayos no es nuevo

Si bien a primera vista podría parecer que Ray Tracing es una nueva tecnología en la que fue pionera Nvidia, la verdad está lejos de serlo. Sí, Nvidia fue la primera compañía en implementar soporte para Ray Tracing en tiempo real en juegos, pero eso no significa que Ray Tracing no existiera antes de la serie RTX. Probablemente lo haya disfrutado sin saberlo durante años si ha visto alguna película reciente que tenga efectos CGI.



Ray Tracing ya se está utilizando en otras áreas como películas - Imagen: Nvidia



La implementación en películas es ciertamente un poco diferente y mucho más intensiva que la versión para juegos. Las producciones de gran presupuesto tienen el lujo de poder gastar una gran cantidad de dinero y tiempo en renderizar esas escenas. Se ha informado que las películas animadas populares han utilizado alrededor de 1000 supercomputadoras para renderizar la película completa con efectos de trazado de rayos durante un período de un mes. Estos procesos de renderizado a gran escala, por supuesto, no son factibles o posibles para el jugador promedio que busca jugar algunos juegos con algunas imágenes actualizadas, por lo que la versión de Ray Tracing que está presente en los juegos modernos es bastante diferente en la aplicación. Aún así, Ray Tracing es una característica que está presente en muchas áreas de producción fuera de los juegos, siendo las películas una de las más destacadas.

Los softwares de productividad que utilizan los profesionales para trabajar en escenas gráficamente intensivas, como Blender, también son compatibles con las funciones de trazado de rayos. Estos software de renderizado y gráficos por computadora utilizan diferentes niveles de aplicación de trazado de rayos para producir imágenes fotorrealistas en renderizaciones fijas y animaciones 3D.

¿Qué es la rasterización?

Entonces, ¿por qué Nvidia consideró necesario implementar un proceso tan complejo en los juegos tradicionales? ¿Existe alguna diferencia en el proceso de Ray Tracing en los juegos para optimizarlo para la carga de trabajo? Para entender el mecanismo detrás del Ray Tracing, primero, necesitamos entender el mecanismo por el cual los juegos se renderizan tradicionalmente. Esto nos ayudará a comprender por qué Ray Tracing se considera una mejora y un gran paso adelante en la fidelidad gráfica.



La técnica que se utiliza actualmente para renderizar se conoce como 'Rasterización'. En esta técnica, el código del juego indica a la GPU que dibuje una escena en 3D utilizando polígonos. Estas formas 2D (en su mayoría triángulos) constituyen la mayoría de los elementos visuales que se muestran en la pantalla. Una vez que se dibuja una escena, se traduce o 'rasteriza' en píxeles individuales que luego son procesados ​​por un sombreador dedicado. El sombreador agrega colores, texturas y efectos de iluminación por píxel para producir un cuadro completamente renderizado. Esta técnica debe repetirse entre 30 y 60 veces por segundo para producir imágenes de 30FPS o 60FPS en los juegos.

Detalles del mecanismo de rasterización - Imagen: Medium.com

Limitaciones de la rasterización

Si bien la rasterización ha sido el modo predeterminado de renderizado en los juegos desde hace bastante tiempo, el proceso inherente detrás de la rasterización tiene algunas limitaciones. El principal problema con la rasterización es que esta técnica tiene dificultades para rastrear exactamente cómo debe viajar la luz en una escena e interactuar con otros elementos de la escena. El renderizado rasterizado no produce los mismos resultados que el renderizado con trazado de rayos cuando se trata de los efectos de iluminación y la iluminación general de una escena en particular. El renderizado rasterizado a veces también puede producir imágenes algo inexactas en relación con la iluminación, lo que realmente puede dañar la inmersión en un juego en particular. Es por eso que Ray Tracing se considera una forma superior de renderizado cuando se trata de fidelidad gráfica, especialmente en relación con la iluminación.

¿Qué es exactamente el trazado de rayos?

Ahora que hemos discutido la forma tradicional de renderizado rasterizado, analicemos la nueva aplicación de Ray Tracing en tiempo real en los juegos modernos. Ray Tracing es una técnica de renderizado que crea una imagen basada en luz virtual y cómo esa fuente de luz interactúa con todos los objetos dentro de la escena virtual. Ray Tracing puede crear una representación mucho más realista de escenas que aprovechan la interacción de la luz con los objetos dentro de la escena para dar una sensación de realismo. En pocas palabras, Ray Tracing es una técnica que hace que la luz se comporte en los videojuegos como lo hace en la vida real.

Ray Tracing promete revisar completamente las imágenes en los juegos - Imagen: Nvidia

El mecanismo detrás del Ray Tracing

El mecanismo detrás de Ray Tracing en los juegos es inherentemente diferente de las otras formas de Ray Tracing que ya se encuentran en otras industrias como las películas. En lugar de rastrear todos los millones de rayos que provienen de cada fuente de luz, el rastreo de rayos de nivel de consumidor reduce la carga computacional al trazar una ruta desde la cámara que representa la perspectiva del usuario, a través de un solo píxel, luego a cualquier objeto que esté detrás píxel y finalmente de vuelta a la fuente de luz de la escena en cuestión. Esta técnica de Ray Tracing también puede producir múltiples efectos como absorción, reflexión, refracción y difusión de la luz según lo determinado por el objeto que interactuaba con la luz en la escena. El algoritmo Ray Tracing también puede tener en cuenta los rayos resultantes para que cualquier efecto de reflexión o sombra se muestre con precisión.

En Ray Tracing, la luz se comporta en el juego como lo haría en la vida real - Imagen: Nvidia

Diferentes formas de trazado de rayos

No todas las implementaciones de Ray Tracing son iguales. La variedad de juegos que admiten Ray Tracing implementan la función de una manera algo diferente. Depende del desarrollador del juego aumentar o disminuir la complejidad de Ray Tracing en el juego para que el juego ofrezca el equilibrio perfecto entre rendimiento y calidad visual. A partir de 2020, la mayoría de los juegos que admiten Ray Tracing generalmente solo usan Ray Tracing para un aspecto de una escena en lugar de renderizar toda la escena usando Ray Tracing. Es posible, pero los costos computacionales del Ray Tracing de escena completa son astronómicos en comparación con los otros enfoques y, por lo tanto, no vale la pena el esfuerzo al menos en este momento. En el momento de redactar este artículo, las diferentes implementaciones de Ray Tracing que se utilizan actualmente en los juegos son:

  • Oscuridad: La implementación de Ray Tracing más simple y menos intensiva está posiblemente relacionada con las sombras. Aquí, Ray Tracing se utiliza para renderizar perfectamente las sombras en una escena según el origen de la luz de la fuente de luz y la posición del objeto en sí. Esta técnica se utiliza más notablemente en 'Shadow of the Tomb Raider' para producir un mapa de sombras más detallado que responde a los cambios en el entorno alrededor de los objetos que producen las sombras. En particular, el movimiento y el ángulo de la fuente de luz ahora pueden incurrir en los mismos cambios en las sombras resultantes que observamos en la vida real.
  • Reflexiones: Los reflejos son un poco más computacionalmente intensivos para renderizar usando Ray Tracing, sin embargo, los reflejos Ray Traced se ven fenomenales en los juegos modernos y son probablemente la mejora gráfica más notable que se puede obtener usando Ray Tracing. Los reflejos utilizan la fuente de luz en una escena para representar con precisión los reflejos de objetos reflectantes como el vidrio y el agua. Uno de los juegos más populares que usa reflejos Ray Traced es 'Control'.
  • Oclusión ambiental: Esto también está relacionado con las sombras y está más o menos ligado al mismo proceso básico. La oclusión ambiental utiliza el trazado de rayos para predecir el ángulo y la intensidad de las sombras según la posición y ubicación de los objetos dentro de una escena. Cuando se hace correctamente, la oclusión ambiental puede agregar algunos detalles y realismo sorprendentes a un juego.
  • Iluminación global: Probablemente la forma más computacionalmente intensiva de implementación de Ray Tracing en juegos modernos, Global Illumination utiliza Ray Tracing para representar con precisión la iluminación del mundo. Esto proporciona una sensación de iluminación mucho más realista cuando está encendido, pero también tiene un impacto masivo en el rendimiento debido a la gran cantidad de datos que se procesan. 'Metro Exodus' usa Ray Tracing para proporcionar una forma mucho más realista de Iluminación Global.
  • Seguimiento de ruta completa: Finalmente, también estamos viendo algunos juegos que están completamente trazados, lo que esencialmente significa que todo es Ray Traced. Ahora bien, estos juegos son algo más simples y más pequeños que los otros juegos que eran títulos más o menos AAA de grandes empresas, pero esto no significa que no se vean impresionantes. De hecho, algunos podrían argumentar que estos juegos con trazado de ruta completo se ven mejor que todas las demás implementaciones de Ray Tracing. “Minecraft RTX” y “Quake RTX” son dos de los títulos que están disponibles en el momento de escribir este artículo.

Ray Traced Reflections puede ser la aplicación más atractiva de Ray Tracing en juegos - Imagen: Nvidia

¿Qué necesito para el trazado de rayos?

Como se mencionó anteriormente, Ray Tracing es una tarea muy intensiva en computación, por lo que requiere un hardware decididamente de alta gama para funcionar bien. En el momento de redactar este artículo, existen varias tarjetas gráficas de AMD y Nvidia que admiten Ray Tracing acelerado por hardware. Incluso las consolas de Sony y Microsoft admiten esta función. Eso amplía un poco la lista de hardware compatible:

  • Serie Nvidia GeForce RTX 2000
  • Serie Nvidia GeForce RTX 3000
  • Serie AMD Radeon RX 6000
  • Microsoft Xbox Serie X
  • Sony PlayStation 5

Tenga en cuenta que si AMD maneja Ray Tracing de manera un poco diferente a Nvidia, se observa una penalización de rendimiento algo mayor cuando se utilizan tarjetas AMD para Ray Tracing. Además, si desea experimentar el rendimiento mejorado con Deep Learning Super Sampling, esa función también está disponible solo en las tarjetas RTX de Nvidia. AMD supuestamente está trabajando en una función similar a DLSS para sus tarjetas de la serie RX 6000, pero actualmente, todavía está en desarrollo al momento de escribir este artículo.

Nvidia también ha acuñado el término 'Giga Rays' para dar a los usuarios una idea sobre las capacidades relativas de Ray Tracing de sus tarjetas gráficas RTX. Nvidia dice que 5 Giga Rays por segundo es la cantidad mínima de luz virtual que se requiere idealmente para iluminar completamente una habitación típica en un entorno de videojuegos. La GeForce RTX 2070 ofrece 5 Giga Rays / seg, mientras que la RTX 2080 ofrece 8 Giga Rays por segundo. El RTX 2080Ti ofrece la friolera de 10 Giga Rays / seg. Sin embargo, es una unidad algo arbitraria, por lo que solo debe usarse de manera general para mostrar las expectativas de desempeño relativo.

Pérdida de rendimiento y DLSS

Como es evidente a estas alturas, la mayor desventaja del Ray Tracing es el impacto en el rendimiento debido a la gran cantidad de cálculo dedicado que se debe realizar en el proceso. En algunos juegos, el impacto en el rendimiento es tan grande que puede llevar el juego a una velocidad de cuadros que ya no se considera jugable. El impacto en el rendimiento es aún mayor en los juegos que utilizan implementaciones más complejas de Ray Tracing, como Reflections, Global Illumination o Full Path Tracing.

Por supuesto, Nvidia pensó en esta situación de penalización del rendimiento y también desarrolló una nueva técnica de compensación conocida como Deep Learning Super Sampling. Esta técnica llamada DLSS se lanzó junto con la serie RTX 2000 de Nvidia en 2018. Ya hemos explorado DLSS en detalle en Este artículo , pero la esencia de esta tecnología es que procesa la imagen a una resolución más baja y luego mejora la imagen de manera inteligente y metódica para que coincida con la resolución de salida para proporcionar un rendimiento muy superior al de la representación nativa. DLSS es un excelente mecanismo de compensación para la pérdida de rendimiento de Ray Tracing, pero también se puede utilizar sin Ray Tracing para proporcionar velocidades de fotogramas aún más altas y una experiencia mucho mejor.

Aumento significativo del rendimiento en el control cuando DLSS está encendido - Imagen: Nvidia

La mayor ventaja de DLSS es que utiliza Deep Learning e IA para mejorar la imagen de modo que haya poca o ninguna diferencia de claridad visual entre la imagen nativa y la mejorada. Nvidia usa los núcleos Tensor en su serie de tarjetas RTX para acelerar el proceso DLSS de modo que este cálculo de escalado se pueda realizar al ritmo del juego que se está renderizando. Esta es una tecnología realmente emocionante que nos gustaría que se desarrolle más y mejore de lo que es ahora.

Futuro del trazado de rayos

Ray Tracing en los juegos recién está comenzando y podemos decir con seguridad que llegó para quedarse. AMD acaba de lanzar su primera línea de tarjetas que admiten Ray Tracing en tiempo real completo con la serie RX 6000 , y PlayStation 5 y Xbox Series X también son compatibles con Ray Tracing. Los obstáculos actuales que deben superarse incluyen la pérdida de rendimiento y el bajo número de juegos que lo admiten. Los juegos actuales que admiten Ray Tracing en el momento de escribir este artículo incluyen:

  • En medio del mal
  • Campo de batalla v
  • Memoria brillante
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Cold War
  • Control
  • Crysis Remastered
  • Líbranos la luna
  • Fortnite
  • Ghostrunner
  • Justicia
  • Mechwarrior V: Mercenarios
  • Metro Exodus
  • Minecraft
  • Hoja de luz de luna
  • Calabaza Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Permanecer en la luz
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

Mientras tanto, Nvidia ha confirmado que los siguientes títulos también admitirán Ray Tracing una vez que salgan:

  • Corazón atómico
  • Cyberpunk 2077 (lanzamiento)
  • Dying Light 2
  • Doom Eternal
  • Alistados (beta cerrada de noviembre)
  • JX3
  • Mortal Shell (noviembre)
  • Observador: System Redux
  • Ready Or Not (lanzamiento de acceso anticipado)
  • Ring Of Elysium (lanzamiento)
  • Sincronizado: fuera del planeta
  • El brujo iii
  • Vampire: The Masquerade - Bloodlines 2
  • World Of Warcraft: Shadowlands (noviembre)
  • Espada Xuan-Yuan VII (lanzamiento)

Próximos juegos compatibles con RTX y DLSS - Imagen: Nvidia

Si bien estos pueden no parecer muchos juegos, representa un comienzo hacia una dirección en la que la forma predominante de renderizado podría ser Ray Tracing. Ahora, en lo que respecta al rendimiento, es realmente difícil predecir si el impacto de rendimiento de Ray Tracing se reducirá un poco o no. Sin embargo, lo que es razonable esperar es que DLSS mejore y ofrezca una compensación suficiente por la pérdida de rendimiento en la que se incurre al activar Ray Tracing. En el momento de escribir este artículo, la lista de juegos que admiten DLSS no es amplia de ninguna manera, pero es un buen comienzo teniendo en cuenta que Nvidia también ha anunciado la compatibilidad con DLSS para varios juegos futuros. Aquí están todos los juegos que actualmente son compatibles con Deep Learning Super Sampling:

  • Himno
  • Campo de batalla v
  • Memoria brillante
  • Call Of Duty: Black Ops Cold War
  • Control
  • Death Stranding
  • Líbranos la luna
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Justicia
  • Vengadores de Marvel
  • Mechwarrior V: Mercenarios
  • Metro Exodus
  • Minecraft
  • Monster Hunter: Mundo
  • Shadow of the Tomb Raider
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Como habrás notado, la mayoría de los juegos que admiten DLSS son títulos que también tienen algún tipo de compatibilidad con Ray Tracing. Esto ofrece una confirmación adicional de la teoría de que DLSS se ha desarrollado y lanzado principalmente como una tecnología de compensación para aliviar la inmensa pérdida de rendimiento en Ray Tracing. Sin embargo, DLSS es una tecnología realmente impresionante, ya que Nvidia ha explicado que utiliza una supercomputadora para realizar cálculos complejos que entrena el algoritmo que siguen los núcleos Tensor dentro de las GPU de Nvidia. Al igual que Ray Tracing, se espera que DLSS también llegue a más juegos:

  • En medio del mal
  • Corazón atómico
  • Perímetro
  • Cyberpunk 2077 (lanzamiento)
  • Edge Of Eternity (noviembre)
  • JX3
  • Mortal Shell (noviembre)
  • Mount & Blade II Bannerlord (noviembre)
  • Ready Or Not (lanzamiento de acceso anticipado)
  • Carroñeros
  • Vampire: The Masquerade - Bloodlines 2
  • Espada Xuan-Yuan VII (lanzamiento)

DLSS, combinado con Ray Tracing, parece ser el futuro de la industria del juego a partir de 2020.

La lista de juegos compatibles con DLSS 2.0 sigue creciendo - Imagen: Nvidia

Conclusión

La rasterización es la técnica que se ha utilizado para convertir un plano 2D de polígonos en una imagen 3D en la pantalla en los juegos desde hace mucho tiempo. En 2018, Nvidia presentó la serie RTX 2000 de tarjetas gráficas con soporte completo para Ray Tracing en tiempo real en juegos, una técnica que utiliza cálculos complejos para rastrear los rayos de luz en una escena para crear representaciones precisas de cómo la luz interactuaría con los objetos en una escena. Esto tomó al mundo de los juegos por una tormenta inesperada y toda la industria puso Ray Tracing como su enfoque principal en el futuro.

En el momento de escribir este artículo, Nvidia ha lanzado otra generación de tarjetas gráficas que mejoran aún más su rendimiento de Ray Tracing, mientras que tanto AMD como las consolas también han anunciado compatibilidad total con la función. Nvidia también ha mejorado su técnica de supermuestreo de aprendizaje profundo que utiliza inteligencia artificial y aprendizaje profundo para mejorar de forma inteligente la imagen que se renderizó a una resolución más baja para compensar la pérdida de rendimiento debido al trazado de rayos.

Parece que Ray Tracing llegó para quedarse, y aunque la cantidad inicial de títulos que admiten la función no es amplia, se anuncian cada vez más títulos que tienen soporte completo para Ray Tracing en tiempo real en el futuro. Ahora depende de los desarrolladores ajustar las funciones de Ray Tracing en sus próximos juegos y también aumentar la cantidad de títulos que admiten esta función. Nvidia y AMD también tienen la responsabilidad de optimizar su hardware para esta función, de modo que los jugadores no tengan que experimentar una pérdida de rendimiento devastadora cuando quieran activar Ray Tracing.