Skip to content

Domenicobrz/C2-Renderer

C2-Renderer

A simple webgpu renderer implemented with javascript and svelte

Web demo

Main features

  1. Anisotropic Torrance-Sparrow BRDFs for conductors and dielectrics
  2. Multi-scattering energy compensation LUTs for conductors and dielectrics
  3. Beer-lambert volume absorption for dielectric materials
  4. Simple Lambertian BRDF and Energy-preserving Oren Nayar diffuse BRDF model
  5. Multiple importance sampling with either one-sample model (OSM) or next-event estimation (NEE)
  6. Support for bump maps, albedo and roughness textures
  7. Importance-sampled environment-maps with PiecewiseConstant2D constructs from pbrt v4, including switch between standard and compensated distributions
  8. Camera model with support for tilt-shift and cat-eyed bokeh effects
  9. Normal-view and camera-light previews
  10. HDR envmap to PC2D conversion and export
  11. Different types of samplers: Uniform, Halton, Blue noise and a customized "sequenced" version of the R2 sampler
  12. 3 types of pixel-decorrelation strategies (none, random offset, blue noise mask)
  13. Two types of integrator: a simple backward path tracer and ReSTIR-PT
  14. ReSTIR-PT supports 3 types of generalized balance heuristic, Pairwise MIS (defensive variant) / complete GBH / Biased GBH
  15. ReSTIR-PT also supports variable spatio-temporal filter sizes, pass & reuse candidates count

C2 implements research from:

  1. EON: A practical energy-preserving rough diffuse BRDF
  2. Practical multiple scattering compensation for microfacet models
  3. R2 Low discrepancy sequence
  4. Blue-noise Dithered Sampling
  5. Multiple importance sampling
  6. ReSTIR-DI
  7. ReSTIR-GI
  8. Generalized Resampled Importance Sampling

About

C2 is a webgpu renderer focused on physically-accurate rendering and ease of experimentation

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •