GPU Path Tracing
Spectral volumetric path tracing using Vulkan
Vulkan Volumetric Path Tracer
Motivation
From an online recommendation, I recently discovered a fantastic Vulkan resource for beginners vk_mini_path_tracer. It stands out for its clear explanations and user-friendly approach. Highly recommended for anyone diving into Vulkan.
Description
- Load custom extensions like VK_KHR_ray_query and VK_KHR_acceleration_structure
- Allocate buffers to be used in a shader
- Load a custom model
- Use BLAS and TLAS for a custom model
- Create a compute pipeline
- Synchronize properly the pipeline and submit it through the command buffer using a pipeline barrier.
- Write back the data in a file
Results
With 2056 samples and a maximum bounce rate of 32, I render the images in the gallery in less than 1 second using an RTX 4070 Laptop.
Contributions
- Create a blender scene with a way to add custom attributes and save them into a ‘.npy’.
- Add a way to load material information to the shader stage.
- Add different materials such as light, glossy reflection, and more.
- Implement a volumetric path tracer based on a previous course using
- Free-path Sampling
- Henyey-Greenstein Phase Function
- Spectral Sampling