A simple webgpu renderer implemented with javascript and svelte
- Anisotropic Torrance-Sparrow BRDFs for conductors and dielectrics
- Multi-scattering energy compensation LUTs for conductors and dielectrics
- Beer-lambert volume absorption for dielectric materials
- Simple Lambertian BRDF and Energy-preserving Oren Nayar diffuse BRDF model
- Multiple importance sampling with either one-sample model (OSM) or next-event estimation (NEE)
- Support for bump maps, albedo and roughness textures
- Importance-sampled environment-maps with PiecewiseConstant2D constructs from pbrt v4, including switch between standard and compensated distributions
- Camera model with support for tilt-shift and cat-eyed bokeh effects
- Normal-view and camera-light previews
- HDR envmap to PC2D conversion and export
- Different types of samplers: Uniform, Halton, Blue noise and a customized "sequenced" version of the R2 sampler
- 3 types of pixel-decorrelation strategies (none, random offset, blue noise mask)