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 |