20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# vulkan-rust-learning
|
|
|
|
Experiments for learning how write Vulkan, using Rust, for real-time raytracing, and other shenanigans.
|
|
|
|
## Resources
|
|
- [NVidia's Raytracing Best Practices](https://developer.nvidia.com/blog/best-practices-using-nvidia-rtx-ray-tracing/)
|
|
- [Khronos Best Practices for Hybrid Rendering](https://www.khronos.org/blog/vulkan-ray-tracing-best-practices-for-hybrid-rendering)
|
|
- [vulkano - Rust Bindings for Vulkan](https://crates.io/crates/vulkano)
|
|
- [vulkano on GitHub](https://github.com/vulkano-rs/vulkano)
|
|
- [Bevy](https://bevyengine.org/)
|
|
- [Bevy on GitHub](https://github.com/bevyengine/bevy)
|
|
- [NVidia NSight with Vulkan](https://developer.nvidia.com/blog/optimizing-vk-vkr-and-dx12-dxr-applications-using-nsight-graphics-gpu-trace-advanced-mode-metrics/)
|
|
|
|
## Architectures Notes
|
|
- Use Top Level Acceleration Structure (TLAS) for instancing and describing geometry
|
|
- Use Bottom Level Acceleration Structure (BLAS) for actually storying geometry inside of AABB regions
|
|
- Keep BLAS AABBs condensed (less negative space), but don't overlap them either
|
|
- We could have an AABB system that automatically generates it from placed level geometry? Too overkill?
|
|
|