El three-dlss-nr llevó la red de Neural Rendering asociada a DLSS 5 al ecosistema Three.js mediante TSL y WebGPU. El proyecto de Ben Houston, actualizado el 2 de octubre de 2026, porta la implementación abierta de OpenDLSS-NR y ejecuta los 71 bloques de la red como núcleos de cómputo dentro de WebGPURenderer, sin lectura previa (readback) de CPU.
Además, el desarrollador afirma que el resultado intermedio fue validado byte a byte contra la implementación WebGPU usada como referencia. Esto hace que el proyecto sea especialmente interesante como demostración técnica de DLSS 5 en Three.js, aunque todavía no representa una solución lista para juegos o aplicaciones en tiempo real.

Demostración de three-dlss-nr con pesos sintéticos en vista dividida. Imagen: Ben Houston/three-dlss-nr.
DLSS 5 en Three.js usa 71 bloques y 451 dispatches
Según la documentación del proyecto, la red es una U-Net con bloques transformer y un ViT global en la parte inferior. En total, la formulación WebGPU ejecuta 451 dispatches de cómputo por fotograma. Por lo tanto, el trabajo no se limita a una interfaz visual: la red completa fue portada a nodos de cómputo de TSL.
El three-dlss-nr recibe el fotograma renderizado, ruido, historial temporal reproyectado y parámetros de condicionamiento. A continuación, produce un residual RGB y un valor usado en la composición temporal. De este modo, el proceso mantiene la misma resolución de entrada y salida; no funciona como un upscaler tradicional.
Este punto también diferencia la tecnología de Super Resolution. La propia NVIDIA describe el DLSS 5 como una etapa de renderizado generativo guiada por el contenido ya producido por el motor. El proyecto independiente intenta reproducir la red abierta de OpenDLSS-NR dentro del pipeline de Three.js, pero no posee vínculo oficial con NVIDIA.

Escena base usada por la demostración pública del proyecto. Imagen: Ben Houston/three-dlss-nr.
El puerto es validado byte a byte contra la referencia WebGPU
Para comprobar la fidelidad del port, Houston compara los kernels y tensores con la referencia WebGPU de OpenDLSS-NR en el mismo dispositivo. De acuerdo con el repositorio, las pruebas cubren familias de kernels FP8 y FP16, atención por ventanas, ViT global, operaciones elementales y etapas de pre y posprocesamiento.
Además, la red completa se comparó en 64 × 64 y 512 × 512 con pesos sintéticos. El autor reporta coincidencia en 83 de 83 tensores verificados. Sin embargo, esto no significa que la demostración pública reproduzca la apariencia real del DLSS 5, ya que los pesos sintéticos sirven únicamente para validar las matemáticas y el flujo de la red.
Suite pública de paridad compara el backend TSL con la referencia WebGPU. Fuente: three-dlss-nr.
El proyecto todavía no ejecuta el Neural Rendering en tiempo real
A pesar de la paridad numérica, el rendimiento aún limita el uso práctico. En una RTX 3060 Ti, el autor midió alrededor de 201 ms por fotograma en 512 × 512 en el backend TSL y aproximadamente 659 ms en 1280 × 720. La referencia WGSL fue más rápida en la misma prueba, con cerca de 123 ms y 412 ms, respectivamente.
Por eso, el propio repositorio deja claro que el port todavía no es en tiempo real. El backend TSL aparece aproximadamente 1,6 vez más lento que la referencia WGSL optimizada en el mismo hardware. Así, los números deben entenderse como un benchmark de una implementación experimental, y no como el rendimiento esperado del DLSS 5 oficial en juegos.
El proyecto también exige WebGPU y Three.js r180 o posterior. No existe fallback para WebGL. Además, la implementación limita el tamaño interno a 1280 × 720 y depende de los recursos de computación disponibles en el adaptador gráfico.
three-dlss-nr no distribuye los pesos propietarios de NVIDIA
Otro límite importante involucra al modelo. El repositorio no incluye, descarga, hospeda o extrae los pesos propietarios de NVIDIA. En su lugar, la demostración pública puede generar pesos sintéticos deterministas, que permiten ejecutar todo el pipeline y verificar la paridad sin distribuir el modelo real.
Consecuentemente, la salida visual de los pesos sintéticos no representa la calidad del DLSS 5. El objetivo es probar que el DLSS 5 en Three.js ejecuta la misma función matemática de la referencia cuando recibe los mismos datos. Para una salida visual significativa, el usuario necesitaría proporcionar un directorio de modelo para el cual tenga los derechos adecuados.
El avance se suma a otros experimentos recientes con Neural Rendering. El Allves Games también acompañó el DLSSNR-AMD corriendo una implementación independiente en Radeon RX 9070 XT, aunque los dos proyectos usan arquitecturas y objetivos diferentes.
Por último, el three-dlss-nr muestra que la red abierta de OpenDLSS-NR se puede integrar en el pipeline moderno de Three.js y ejecutar enteramente en la GPU vía WebGPU. El próximo desafío es reducir el costo de los kernels para acercar la implementación a tasas realmente interactivas.
Fuentes: repositorio oficial del proyecto; documentación técnica de NVIDIA sobre DLSS 5.