2024-09-19 19:18:39 -04:00
# 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 )
2024-09-19 19:25:44 -04:00
- [NVidia NSight with Vulkan ](https://developer.nvidia.com/blog/optimizing-vk-vkr-and-dx12-dxr-applications-using-nsight-graphics-gpu-trace-advanced-mode-metrics/ )
2024-09-19 19:18:39 -04:00
## 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?