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.
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.
- 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
- X11 (not required for headless example)
- GCC
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 .