Vulkan Raytracer

Overview
This project is a Vulkan-based raytracer that utilizes the VK_KHR_ray_tracing_pipeline
extension. It implements real-time ray tracing with acceleration structures and features such as temporal anti-aliasing, any-hit shaders for transparency, and sample accumulation directly in the ray generation shader. It was later extended into a recursive path tracer for realistic lighting simulations.
Key Features
- • Use of Acceleration Structure: Efficient ray-triangle intersections using Vulkan's acceleration structures.
- • Temporal Anti-Aliasing: Subpixel jitter with per-frame accumulation for smoother edges and better image quality.
- • Any-Hit Shader: Supports alpha cutout and conditional intersection handling, useful for simulating transparent surfaces.
- • Recursive Path Tracing: Path tracing implemented in the RayGen shader for optimal sample accumulation without excessive traceRay calls.
Performance Optimizations
- • Sample accumulation done inside the RayGen shader loop to avoid performance-heavy multiple trace calls.
- • Utilizes Vulkan's efficient memory handling and AS compaction to maintain responsiveness.