# three-gpu-pathtracer v0.0.26

GPU-accelerated path tracing renderer for physically based rendering on the web. Supports PBR materials, area lights, depth of field, and volumetric fog for high-quality rendering visuals.

Source: https://github.com/gkjohnson/three-gpu-pathtracer

```bash
npm install three-gpu-pathtracer
```

## three-gpu-pathtracer/webgpu

### Classes

- [BlurredEnvMapGenerator](/tools/docs/three-gpu-pathtracer/webgpu/BlurredEnvMapGenerator.md): Produces a PMREM prefiltered, optionally downsampled equirectangular copy of an environment map. Blurring removes the small bright details that make an environment slow to converge.
- [FSRUpscaler](/tools/docs/three-gpu-pathtracer/webgpu/FSRUpscaler.md): Upscales a path traced image to the drawing buffer size with FSR. Pass one to "WebGPUPathTracer.setUpscaler".
- [OIDNDenoiser](/tools/docs/three-gpu-pathtracer/webgpu/OIDNDenoiser.md): Runs Open Image Denoise over a path traced image. Pass one to "WebGPUPathTracer.setDenoiser", or drive it directly with "denoise".
- [WebGPUPathTracer](/tools/docs/three-gpu-pathtracer/webgpu/WebGPUPathTracer.md): Progressive path tracer running on WebGPU. Call `WebGPUPathTracer#setScene` once, then `WebGPUPathTracer#renderSample` every frame to accumulate samples into the canvas.

### Constants

- [RANDOM_BLUE_DITHER](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): The same Sobol sequence for every pixel, offset by a blue noise dither so early frames read as smooth grain rather than clumped noise. The default.
- [RANDOM_PCG](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): Uncorrelated pseudo random samples. Converges slowest but never shows structured artifacts.
- [RANDOM_SOBOL](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): Sobol low discrepancy samples, scrambled per pixel. Converges faster than `RANDOM_PCG`.
- [TRANSMISSIVE_BACKGROUND_ENVIRONMENT](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): Sample the environment map, so glass shows what is behind it.
- [TRANSMISSIVE_BACKGROUND_OVERLAY](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): Set the opacity from the transmitted light intensity, tinted by the environment lighting.
- [TRANSMISSIVE_BACKGROUND_TRANSPARENT](/tools/docs/three-gpu-pathtracer/webgpu/constants.md): Attenuate the background by the transmitted light, so glass renders against transparency.

### Types

- [SampleCounts](/tools/docs/three-gpu-pathtracer/webgpu/SampleCounts.md)
