(BVH hasn’t ported yet, I’m porting it from my previously unpublished opencl RTRT application, but it also requires writing a WGSL version of radix sort, because the Boost.Compute library was used for this earlier)
WebRTX is not hardware ray tracing and is a pure compute shader implementation. This means WebRTX works as long as your browser supports WebGPU (only tested on Chrome so far).
but again without GPGPU BVH Building apparently
The building of BVH happens on host which is then flattened into a buffer for stackless traversal on GPU.
the implementation is tricky, of course although we can say that this is a professional approach (in that tracing can be written on GLSL shaders, even if it is not supported in drivers), but taking into account the CPU’s BVH build, this is of course still quite useless …
### Code structure
/bvh - Rust code for building BVH and serializing it to a format suitable for stackless traversal on GPU.
/glsl - Rust code for parsing and manipulating user provided shaders.