three-gpu-pathtracer
llms.txt2k starsChanged 47 days agoMITView on GitHub
A progressive, physically based path tracer for three.js scenes, running on WebGPU compute shaders with BVH acceleration from three-mesh-bvh. npm package three-gpu-pathtracer. MIT licensed.
Trending
More talk lately.about the whole repository
Who's talking about gkjohnson/three-gpu-pathtracer
- vitejs/vite“Workers are not imported correctly despite the worker syntax seemingly being correct, works in parcel”GitHub · Jan 12, 2023 · 21 reactions
- @robertoranon.bsky.social“Furniture rendering experiments done a while ago with three-gpu-pathtracer by @gkjohnson.bsky.social …”Bluesky · Jan 17, 2025 · 5 likes
- vitejs/vite“fix(optimizer): support `new Worker` and `new URL(..., import.meta.url)` for pre-bundled dependencies”GitHub · Aug 8, 2024 · 5 reactions
- gkjohnson/three-mesh-bvh“Fix Gpu Path Tracing black triangles issue and Sdf Generation issue (chrome, opengl).”GitHub · Sep 4, 2023 · 3 reactions
- mrdoob/three.js“Rendering to WebGL3DRenderTarget in Chrome with D3D11 backend does not work correctly”GitHub · Jan 28, 2023 · 2 reactions
The biggest 5 of 41 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 41
Talked about on GitHub and Bluesky (41 times).
On GitHub · 40
- Jan 12, 2023Workers are not imported correctly despite the worker syntax seemingly being correct, works in parcel — vitejs/vite21 reactions · 15 comments
- Aug 8, 2024fix(optimizer): support `new Worker` and `new URL(..., import.meta.url)` for pre-bundled dependencies — vitejs/vite5 reactions · 2 comments
- Sep 4, 2023Fix Gpu Path Tracing black triangles issue and Sdf Generation issue (chrome, opengl). — gkjohnson/three-mesh-bvh3 reactions · 6 comments
- Jan 28, 2023Rendering to WebGL3DRenderTarget in Chrome with D3D11 backend does not work correctly — mrdoob/three.js2 reactions · 9 comments
- Aug 23, 2026MeshPhysicalMaterial: Add EON (Energy-preserving Oren-Nayar) diffuse BRDF to MeshPhysicalMaterial — mrdoob/three.js1 reaction
35 more on GitHub
- May 4, 2024Examples: update pathtracer to v0.0.22 — mrdoob/three.js1 reaction
- Nov 9, 2026Bump the uretim group across 1 directory with 7 updates — MertDas24/sanal-garaj0 reactions
- Nov 5, 2026chore(deps): bump three-gpu-pathtracer from 0.0.27 to 0.0.28 — nirholas/three.ws0 reactions · 1 comment
- Nov 1, 2026build(deps): bump the runtime-dependencies group in /js with 4 updates — K3D-tools/K3D-jupyter0 reactions
- Oct 31, 2026Task: opencaw-threejs-postprocessing — TimothyMeadows/Hephaera0 reactions · 1 comment
- Oct 28, 2026build(deps): bump three-gpu-pathtracer from 0.0.24 to 0.0.27 — nirholas/three.ws0 reactions · 1 comment
- Oct 26, 2026⬆️ Narzędzia karty: Bump three-gpu-pathtracer from 0.0.23 to 0.0.27 in /karta — superdarco78/Motor-HA0 reactions
- Oct 14, 2026chore(deps): bump three-gpu-pathtracer from 0.0.24 to 0.0.27 — Wolren/Shapegrid0 reactions
- Oct 6, 2026chore(deps): bump three-gpu-pathtracer from 0.0.24 to 0.0.26 — Wolren/Shapegrid0 reactions · 1 comment
- Sep 25, 2026[M68] Tune warm and cool light presets against the torch room and night courtyard — Thirdfold/client0 reactions
- Sep 25, 2026[M68] Add grid-derived coloured bounce and cavity occlusion — Thirdfold/client0 reactions
- Sep 25, 2026render_page cut path-traced pages to 20 s like any other page: the lighthouse night photo stopped at ~295 samples, stayed grainy, and the goal paused offering to shrink the scene -- kit pages need a longer wait ceiling — nibor1896/Crow0 reactions · 2 comments
- Sep 25, 2026voxel kit v2: animation, orbit, photo mode, props registry, diorama checker -- the kit renders stills only and nothing measures an 'empty' or static diorama — nibor1896/Crow0 reactions · 2 comments
- Sep 25, 2026Crow ships no renderer for the voxel-diorama task: agents hand-write a WebGL2 ray tracer (16 h of noise, #293-#295) -- vendor the proven three-gpu-pathtracer recipe as a kit with a skill, build_bundle aliases and an opt-in installer flag — nibor1896/Crow0 reactions · 2 comments
- Sep 16, 2026build(deps): bump three-gpu-pathtracer from 0.0.23 to 0.0.24 — nirholas/three.ws0 reactions · 1 comment
- Jun 24, 2026BVHComputeData: Add a "clustered" bvh compute mechanism — gkjohnson/three-mesh-bvh0 reactions
- Jun 22, 2026Add CompositeBVH for GPU traversal — gkjohnson/three-mesh-bvh0 reactions · 1 comment
- May 4, 2026chore(deps): bump the dev-dependencies group across 1 directory with 17 updates — CariHQ/opencad0 reactions · 2 comments
- May 1, 2026chore(deps): bump the dev-dependencies group across 1 directory with 15 updates — CariHQ/opencad0 reactions · 2 comments
- Apr 27, 2026chore(deps): bump the dev-dependencies group across 1 directory with 11 updates — CariHQ/opencad0 reactions · 2 comments
- Apr 22, 2026chore(deps): bump the dev-dependencies group across 1 directory with 8 updates — CariHQ/opencad0 reactions · 2 comments
- Nov 13, 2025Enforce minimum version of @types/webxr — three-types/three-ts-types0 reactions
- Aug 10, 2025Add multipleImportanceSampling — pmndrs/react-three-gpu-pathtracer0 reactions · 2 comments
- Dec 19, 2024Integrate pathtracer — c-frame/aframe-editor0 reactions
- Aug 9, 2024Build fails on self reference worker `new Worker(new URL(..., import.meta.url))` in dependency — vitejs/vite0 reactions
- Aug 7, 2024fix(pre-bundle-new-url): handle recursive worker reference — hi-ogawa/vite-plugins0 reactions · 1 comment
- Jun 15, 2024GPU Pathtracter — zincware/ZnDraw0 reactions
- Feb 7, 2024Material: It's currently not possible to determine if a material failed to compile — mrdoob/three.js0 reactions · 7 comments
- Aug 14, 2023raytracing renderer option — 3DStreet/3dstreet0 reactions · 4 comments
- Feb 5, 2023THREE.js raytracing renderer support — greggman/dekapng0 reactions · 4 comments
- Jan 9, 2023MikkTSpaceTangents: Generating tangents for "NormalTangentTest" glTF sample model breaks normals — mrdoob/three.js0 reactions · 5 comments
- Nov 28, 2022Switch to the metal roughness model for glTF. — hypar-io/Elements0 reactions · 2 comments
- Nov 28, 2022StaticGeometryGenerator: only use visible geometry — gkjohnson/three-mesh-bvh0 reactions
- May 2, 2022Generator: Log any worker error events — gkjohnson/three-mesh-bvh0 reactions
- Mar 30, 2022Add unwrap() UV unwrapping function — donmccurdy/glTF-Transform0 reactions · 1 comment
On Bluesky · 1
- Jan 17, 2025Furniture rendering experiments done a while ago with three-gpu-pathtracer by @gkjohnson.bsky.social github.com/gkjohnson/th... #threejs — @robertoranon.bsky.social5 likes and reposts
The file
We split this llms.txt into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 7
Use WebGPUPathTracer from three-gpu-pathtracer/webgpu with three's WebGPURenderer from three/webgpu.
- Very specific: line 9
Call setScene( scene, camera ) once, then renderSample() every frame.
- Very specific: line 12
Only MeshStandardMaterial and MeshPhysicalMaterial are supported.
≈ “Common” is an estimate: at least 1 in 5 of the 3,592 llms.txt files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
# three-gpu-pathtracer
> A progressive, physically based path tracer for three.js scenes, running on WebGPU compute shaders with BVH acceleration from three-mesh-bvh. npm package `three-gpu-pathtracer`. MIT licensed.
## Instructions for Large Language Models
- Use `WebGPUPathTracer` from `three-gpu-pathtracer/webgpu` with three's `WebGPURenderer` from `three/webgpu`. The older `WebGLPathTracer` API is deprecated, so don't generate code for it.
- Cameras, lights and textures such as `PhysicalCamera`, `EquirectCamera`, `ShapedAreaLight` and `GradientEquirectTexture` are imported from `three-gpu-pathtracer`, not `/webgpu`.
- Call `setScene( scene, camera )` once, then `renderSample()` every frame. After later changes call the matching update function rather than `setScene` again: `updateCamera`, `updateMaterials`, `updateTransforms`, `updateEnvironment` or `updateLights`. Changed geometry needs `setScene`.
- For large scenes, call `setBVHWorker( GenerateMeshBVHWorker )` with the worker from `three-mesh-bvh/worker`, then `await setSceneAsync( scene, camera )` so the page isn't blocked.
- The adaptive frame budget, on by default, needs a renderer created with `trackTimestamp: true`.
- Only `MeshStandardMaterial` and `MeshPhysicalMaterial` are supported.
## Basic use
```js
import * as THREE from 'three/webgpu';
import { WebGPUPathTracer } from 'three-gpu-pathtracer/webgpu';
const renderer = new THREE.WebGPURenderer( { trackTimestamp: true } );
await renderer.init();
const pathTracer = new WebGPUPathTracer( renderer );
pathTracer.setScene( scene, camera );
// "stage" is "building", "compiling", "rendering" or "denoising"
pathTracer.addEventListener( 'progress', ( { stage, progress, samples } ) => {} );
function animate() {
requestAnimationFrame( animate );
pathTracer.renderSample();
}
animate();
```
## Denoising
- `OIDNDenoiser` runs Open Image Denoise once the render stops, so set `maxSamples` above zero. The app provides `initUNetFromURL` from `oidn-webgpu` and the network weights from the oidn-weights repository: `pathTracer.setDenoiser( new OIDNDenoiser( { initUNetFromURL, auxWeightsUrl } ) )`.
## Docs
- [API documentation](https://gkjohnson.github.io/tools/docs/three-gpu-pathtracer/): every class, option, method and event
- [API.md](https://github.com/gkjohnson/three-gpu-pathtracer/blob/main/src/webgpu/API.md): the same documentation as markdown
- [README](https://github.com/gkjohnson/three-gpu-pathtracer/blob/main/README.md): setup, blurred environment maps and known limitations
- [Examples](https://github.com/gkjohnson/three-gpu-pathtracer/tree/main/example): materials, lights, depth of field, denoising, animation and video rendering
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

