vulkan_ray_tracing_minimal_abstraction
A minimal implementation of Vulkan ray tracing.
C++★ 98⑂ 9 forksGPL-3.0updated 1 year ago
git clone https://github.com/WilliamLewww/vulkan_ray_tracing_minimal_abstraction.gitWilliamLewww/vulkan_ray_tracing_minimal_abstractionREADME.mdfork it — it’s yours
Vulkan Ray Tracing with Minimal Abstraction
ray_pipeline uses the ray tracing pipeline to render the final image.
ray_query uses the graphics pipeline along with ray querying to render the final image.
headless generates a ray traced image without creating a window or requiring a surface.
Important Note
Make sure the VK_KHR_ray_query and VK_KHR_ray_tracing_pipeline extensions are available on your device!
Even if you have a compatible RTX / RX graphics card, your drivers may not have the extension available.
To see if the extension is available, you can use the vulkaninfo binary.
Dependencies
- Graphics drivers with Vulkan support (AMD, NVIDIA, MESA, etc...)
- Vulkan SDK or build each component individually:
- Vulkan Headers
- Vulkan Loader
- glslang
- Vulkan Validation Layers (if you want to enable validation layers)
- CMake
Windows
Linux
- X11 (not required for headless example)
- GCC
Building
Navigate to a subproject:
cd vulkan_ray_tracing_minimal_abstraction/ray_pipeline # or # cd vulkan_ray_tracing_minimal_abstraction/ray_query # or # cd vulkan_ray_tracing_minimal_abstraction/headless
Build on Linux or Windows through CMake:
mkdir build cd build cmake .. # with validation layers enabled: # cmake .. -D VALIDATION_ENABLED=1 # on Linux make # on Windows: # cmake --build .
Image generated from headless example:
more like this



