still not fully correct or robust, but passes validation
missing correctness things:
- Nx light data buffers
- Nx dynamic model buffers
- Nx dynamic BLASes
quite likely will also need (depending on update strategy, direct vs upload):
- Nx light data buffers
- Nx UBOs
probably fine since frames don't really overlap:
- single TLAS
allows easily creating arbitrary ray tracing pipelines out of sets of
bindings and shaders
what's missing:
- optimal handling of duplicate shaders
- reading bindings from shaders (parse SPIR-V) instead of specifying in
code
- automatic resource creation according to binding definitions
- automatic barriers according to bindings interface