| Samples Per Pixel | 2 |
|---|---|
| Averaging Layers Count | 2 |
| Maximum Layers Count | 256 |
| Denoising | on |
| FPS | 0 |
| WebGPU Status | 😰 ... |
This is my first attempt at doing real-time path tracing. There is still plenty of room for improvements. I was inspired by the work of Reinder Nijhoff, specially his demo Wolfenstein: Ray Tracing On using WebGL1, which I find stunning it was implemented with WebGL 1! I am trying to do something similar as an exercise to learn WebGPU and miscellaneous rendering techniques.
In order to experiment with different ways for pseudo-random number generation, I used this toy. I eventually settled on using the XorShift128 algorithm seeded by the coordinates of each fragment and a counter that is incremented with each frame.
| 🖱 (drag) | to look around | |
| [ / ] | to change the number of samples per pixel | |
| Alt + | [ / ] | to change the minimum number of layers |
| W / S | to move forward/backward | |
| D / A | to move right/left | |
| E / C | to move up/down | |
| L | to toggle maximum layering | |
| N | to toggle denoising | |
| R | to start/stop recording |