To continue sharing rusty things from last year, I did some experimenting with Vulkan and put the code here: github.com/sjb3d/caldera/. Has a very basic render graph and some probably terrible use of rust async/.await.
Conversation
The goal was to try out Vulkan ray tracing/mesh shaders/bindless/etc, but I also implemented "Coherent Parallel Hashing" (ggg.udg.edu/publicacions/U) since it is a useful technique for GPU hash tables. Code for that is here: github.com/sjb3d/caldera/
1
13
I also got a bit carried away and implemented a spectral path tracer using Vulkan ray tracing here: github.com/sjb3d/caldera/. It implements "Practical Hash-based Owen Scrambling" for sampling, and a few different BRDFs. Some renders below:
4
36
199
The first image uses measured spectral data from refractiveindex.info for copper, iron and gold. The scenes for the last 3 images are from Benedikt Bitterli's rendering resources: benedikt-bitterli.me/resources/, originally by blendswap artists nacimus, NewSee2l035 and thecali.
