Durante la GTC, la conferencia Don Palomo de NVIDIA, han presentado las tecnologías que permitirán aplicar el Path Tracing en juegos, aunque por el momento lo han mostrado solo para Cyberpunk. Obviamente, desde el momento en que se trata de un evento creado por ellos y el marketing de la compañía es muy poderoso, hay que separar el grano de la paja. Y eso es lo que vamos a hacer.
De un tiempo a esta parte, la empresa de Jen Hsen Huang está optando por implementar nuevas tecnologías no en cuanto a hardware, sino aprovechar la enorme potencia en cuanto a computación sobrante en sus chips gráficos para hacerlo utilizando software. Pero no del que funciona en tu procesador, sino librerías y programas basados en CUDA que se ejecutan como shaders de computación, es decir, de propósito general y no de manipulación de primitivas gráficas, para solventar problemas que se podrían resolver con aceleradores de función fija que harían el trabajo de forma automatizada, sin participación del desarrollador.
CUDA para atarlos todos a NVIDIA
Un ejemplo de ello lo tenemos en el Shader Execution Reordering, una función que ha introducido NVIDIA en sus RTX 40 que se basa en la capacidad de poder reordenar el orden de ejecución los diferentes hilos que van a los núcleos de la GPU según las unidades de ejecución que hay disponibles en cada momento. Esto es un trabajo que debería caer en manos del planificador del núcleo, pero NVIDIA ha decidido convertirlo en una función propia de sus librerías.
Es decir, no existe una implementación en el hardware que realice ese trabajo y así con un sinfín de funciones que están promocionando últimamente. Lo que han hecho es crear una GPU, la AD102, y su tarjeta gráfica, la RTX 4090, con tanta potencia que ningún juego actual la usa al 100% realmente, y luego han lanzado una serie de justificaciones en forma de software propietario para justificar la existencia de la misma y atar a los desarrolladores a su ecosistema.
El Path Tracing de NVIDIA no es un estándar
Todo esto nos lleva al tema del SDK para Path Tracing de NVIDIA y su gran diferencia a con el Ray Tracing en 2018. Por aquel entonces la iniciativa vino de Microsoft para crear una versión de DirectX que permitiese hacer uso lo que llamamos renderizado híbrido, es decir, usar los algoritmos de trazado de rayos para solventar una serie de problemas visuales como reflejos, transparencia, transporte de luz, etcétera que no son posibles de otra forma. Por tanto, se orginaron una serie de normas consensuadas por varios fabricantes para la creación de un estándar.
Ahora bien, si bien el Path Tracing es un algoritmo para generar escenas en 3D a tiempo real que está definido desde hace décadas, lo que ha presentado NVIDIA en la GTC no lo es y se trata del enésimo intento de NVIDIA de atar a los usuarios a su plataforma. Al igual que el DLSS de la marca, se trata de software que corre solo en sus tarjetas gráficas. Que si bien da beneficios, ha convertido a NVIDIA en un monopolio de facto tanto en computación de alto rendimiento como en inteligencia artificial, y esto es algo que hace años que dura.
Solo hay que ver las tecnologías que componen el Path Tracing SDK de NVIDIA, todas ellas propietarias e imposibles de ejecutarse en una GPU de la competencia. Las cuales son:
- DLSS 3.
- RTX Direct Illumination (RTXDI).
- NVIDIA Real-Time Denoisers (NRD).
- Opacity Micro-Map (OMM).
- Shader Execution Reordering (SER).
- Irradiance Cache.
Todas ellas tecnologías propietarias no implementadas en el hardware sino funcionando bajo CUDA y requiriendo una RTX 4090 para dar buenos rendimientos.
Una tecnologia solo para privilegiados
Desde el momento en que los desarrolladores de juegos quieren vender la mayor cantidad de unidades posibles, no tiene sentido adoptar una tecnologia que solo van a poder disfrutar por el momento solo un 0.31% de los usuarios que juegan a juegos. Una cosa es el DLSS que no deja de ser un añadido banal y otra cosa es lo que está intentando NVIDIA con el kit del Path Tracing que han presentado en la GTC y que por el momento funciona solo en Cyberpunk Overdrive.
Deberíamos ver su aplicación por el momento como una mera curiosidad, por el momento no se ha creado ningún estándar al estilo DXP, DirectX Path Tracing, o una extensión de Vulkan que puedan usar todos. En todo caso, los pasos a seguir serán los mismos que ha dado NVIDIA, pero sin atar a los desarrolladores y usuarios a una sola marca.
Aunque dada la potencia necesaria, todavía deberemos esperar algunos años. En todo caso, lo más seguro es que veamos buena parte de estas funciones siendo aplicadas dentro del hardware, con nuevas unidades especializadas en dichas tareas y versiones mejoradas de las actuales.
No hay duda que la implementación del Path Tracing es el siguiente paso evolutivo, pero faltan aún años para su estandarización masiva y no una sola generación de tarjetas gráficas.