Godot hybrid ray-tracing
Modified Godot's Vulkan back-end to implement hardware-accelerated ray tracing, using a hybrid rendering approach for reflections.
Overview
During my first block in year 3, I worked together with 2 other programmers to create a Hybrid ray tracing extension for Godot by modifying its source code. We based our branch on an already existing implementation from Antonio Caggiano. Below are my contributions to our own approach where we integrated the ray-tracing features into the engine’s source.
Github Repository: Godot ray tracing
Article with code and implementation details for the diffuse reflections:
My contributions
Hybrid Ray-Traced Reflections
Implemented hybrid ray-traced reflections in Godot's forward+ renderer by skipping the main ray using rasterized G-buffer data and tracing secondary rays from reconstructed world positions.
Vulkan Ray Tracing Pipeline Integration
Helped integrating the Vulkan ray tracing pipeline into Godot's source including shader binding table setup, acceleration structure traversal, and descriptor set management for uniforms like the TLAS, render targets, and camera matrices.
Modified Godot Shader Builder
Extended Godot's Python-based shader builder to support all the ray tracing shader stages, also made it match Godot's system to nullptr the unused shaders.



