bhouston/three-dlss-nr

A Three.js (TSL / WebGPU) port of OpenDLSS-NR, the open-source reimplementation of NVIDIA's DLSS 5 neural rendering network

TypeScript

0

2 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

I have a ThreeJS implementation/port of this code here: https://github.com/bhouston/three-dlss-nr

on OpenDLSS: A Vulkan Reimplementation of Nvidia's DLSS 5 Neural Rendering Network

0

Oct 2, 2026

README

three-dlss-nr

ci

A port to Three.js (TSL / WebGPU) of OpenDLSS-NR by maan.

All credit for the network reimplementation, its numerics, and its documentation belongs to OpenDLSS-NR. This repository ports that work to three.js and tracks upstream commit 9d08f41, included as the reference/OpenDLSS-NR submodule.

What it is

OpenDLSS-NR is an open-source reimplementation of the network used by NVIDIA's DLSS 5 Neural Rendering (NR). It ships a Vulkan reference and a bit-exact browser WebGPU/WGSL port.

three-dlss-nr implements the same network with three.js TSL compute kernels (three/webgpu + three/tsl), so it can run inside a WebGPURenderer scene. The port is checked against the reference WebGPU implementation block by block on the same inputs and weights.

This repository is a pnpm monorepo:

PathContents
packages/three-dlss-nrThe library (TypeScript, peer dependency three).
packages/websiteDemo site, deployed to Cloud Run.
reference/OpenDLSS-NRUpstream OpenDLSS-NR at 9d08f41 (git submodule, read-only).

Status: bootstrap. The package currently exports placeholders while the network port is in progress.

Weights

You supply the weights. None are included. The network's trained weights are NVIDIA's proprietary property and are not part of this repository, its npm package, or OpenDLSS-NR. This project never downloads, extracts, or redistributes them. To run the network on real weights, point it at a model directory you are entitled to use (manifest.json + model/stages/*, in the layout described in the reference's docs/weights.md).

Tests use deterministic synthetic weights in the same layout and compare our TSL network against the reference WebGPU port on them. Real-weight parity tests run only when NR_WEIGHTS / NR_FIXTURES point at local files.

Development

git clone --recurse-submodules git@github.com:bhouston/three-dlss-nr.git
cd three-dlss-nr
pnpm install
pnpm build
pnpm test        # type check + unit tests (Node)
pnpm test:gpu    # WebGPU tests (headless Dawn in Node)
pnpm dev         # library watch + demo site

See CONTRIBUTING.md for the workflow and full list of checks.

License and notices

MIT. See LICENSE, which carries both this project's copyright (Ben Houston and contributors, 2026) and OpenDLSS-NR's MIT notice (Copyright (c) 2026 maan), and NOTICE, which carries forward upstream's notice.

This project is not affiliated with, endorsed by, or supported by NVIDIA Corporation or by the author of OpenDLSS-NR. "DLSS" is a trademark of NVIDIA Corporation; it is used here only to describe what the network implemented by this code is compatible with. No NVIDIA software, weights, headers, or documentation are included, and no rights under any NVIDIA intellectual property are granted.

bhouston/three-dlss-nr

A Three.js (TSL / WebGPU) port of OpenDLSS-NR, the open-source reimplementation of NVIDIA's DLSS 5 neural rendering network

TypeScript

0

2 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

I have a ThreeJS implementation/port of this code here: https://github.com/bhouston/three-dlss-nr

on OpenDLSS: A Vulkan Reimplementation of Nvidia's DLSS 5 Neural Rendering Network

0

Oct 2, 2026

README

three-dlss-nr

ci

A port to Three.js (TSL / WebGPU) of OpenDLSS-NR by maan.

All credit for the network reimplementation, its numerics, and its documentation belongs to OpenDLSS-NR. This repository ports that work to three.js and tracks upstream commit 9d08f41, included as the reference/OpenDLSS-NR submodule.

What it is

OpenDLSS-NR is an open-source reimplementation of the network used by NVIDIA's DLSS 5 Neural Rendering (NR). It ships a Vulkan reference and a bit-exact browser WebGPU/WGSL port.

three-dlss-nr implements the same network with three.js TSL compute kernels (three/webgpu + three/tsl), so it can run inside a WebGPURenderer scene. The port is checked against the reference WebGPU implementation block by block on the same inputs and weights.

This repository is a pnpm monorepo:

PathContents
packages/three-dlss-nrThe library (TypeScript, peer dependency three).
packages/websiteDemo site, deployed to Cloud Run.
reference/OpenDLSS-NRUpstream OpenDLSS-NR at 9d08f41 (git submodule, read-only).

Status: bootstrap. The package currently exports placeholders while the network port is in progress.

Weights

You supply the weights. None are included. The network's trained weights are NVIDIA's proprietary property and are not part of this repository, its npm package, or OpenDLSS-NR. This project never downloads, extracts, or redistributes them. To run the network on real weights, point it at a model directory you are entitled to use (manifest.json + model/stages/*, in the layout described in the reference's docs/weights.md).

Tests use deterministic synthetic weights in the same layout and compare our TSL network against the reference WebGPU port on them. Real-weight parity tests run only when NR_WEIGHTS / NR_FIXTURES point at local files.

Development

git clone --recurse-submodules git@github.com:bhouston/three-dlss-nr.git
cd three-dlss-nr
pnpm install
pnpm build
pnpm test        # type check + unit tests (Node)
pnpm test:gpu    # WebGPU tests (headless Dawn in Node)
pnpm dev         # library watch + demo site

See CONTRIBUTING.md for the workflow and full list of checks.

License and notices

MIT. See LICENSE, which carries both this project's copyright (Ben Houston and contributors, 2026) and OpenDLSS-NR's MIT notice (Copyright (c) 2026 maan), and NOTICE, which carries forward upstream's notice.

This project is not affiliated with, endorsed by, or supported by NVIDIA Corporation or by the author of OpenDLSS-NR. "DLSS" is a trademark of NVIDIA Corporation; it is used here only to describe what the network implemented by this code is compatible with. No NVIDIA software, weights, headers, or documentation are included, and no rights under any NVIDIA intellectual property are granted.

Languages

TypeScript

50.7%

JavaScript

43.9%

CSS

3.5%

Dockerfile

1.9%