This sample demonstrates basic raytracing in Vulkan, featuring GGX shading, shadows, and reflections.
- Initializes utility classes for:
- Top-Level Acceleration Structure (TLAS)
- Bottom-Level Acceleration Structure (BLAS)
- Shading Binding Table (SBT)
- Scene creation and buffer uploading
- Acceleration structure generation
- Ray tracing pipeline setup
- UI rendering
- Full viewport image display
- Frame information buffer updates
vkCmdTraceRaysKHR
invocation
- Scene Creation:
createScene()
- Vulkan Buffer Generation:
createVkBuffers()
- Acceleration Structures:
- BLAS:
createBottomLevelAS()
- TLAS:
createTopLevelAS()
- BLAS:
- Pipeline Creation:
createRtPipeline()
- Shader attachment (raygen, miss, closest-hit)
- Optimization of acceleration structure updates
- Efficient SBT management
- Performance tuning for real-time raytracing
For global illumination implementations, refer to the gltf_viewer
sample.