Posts

Showing posts from December, 2025

Pigeon Devlog #3: Ray Tracing + Compute in Vulkan

Image
Hello again!  Over the last two weeks, I focused on implementing the ray tracing pipeline in Pigeon and converting my shadow mapping feature to ray-traced shadows. I also added another important feature to Pigeon: a compute pipeline . With compute shaders, I blurred the ray-traced shadows so they don’t look like sharp edges. Finally, I added an ambient term to the shadow, which makes the result look more realistic.  Ray Tracing Pipeline A ray tracing pipeline is a rendering pipeline where the main “work unit” is a ray, not a triangle. Instead of rasterizing triangles to pixels, we sending rays into the scene and ask: what do we hit first? Then we use that hit information to calculate shading. In Vulkan ray tracing, the pipeline is built around a few shader stages: Ray Generation Shader : This is the entry point. It decides which rays to send (camera rays, shadow rays, reflection rays, etc.). Miss Shader : Runs when the ray hits nothing. Usually returns background color, sky, o...