Antonio Caggiano
Antonio Caggiano is a Senior Software Engineer at LunarG. Since graduating in Computer Science in 2016, he has held graphics roles at Imagination Technologies, Arm, Collabora, and Qualcomm, contributing to multiple open source graphics and driver projects. He is passionate about Computer Graphics and making advanced GPU features approachable.
Session
Godot’s Vulkan renderer already ships with native hardware ray tracing exposed through the low-level RenderingDevice, but getting from “Vulkan feature exists” to a Godot-shaped, tool-friendly API took a very specific set of design and plumbing decisions. In this talk I’ll tell that story: how I implemented the Vulkan ray tracing pipeline inside Godot’s rendering HAL and how it fits Godot’s object model.
We’ll walk through what was added and why: ray tracing shader stages (raygen, miss, closest hit, any hit, intersection), per-stage source/bytecode submission with compile-error feedback, acceleration structure objects (BLAS/TLAS), and the minimal command flow (begin, bind pipeline/uniform sets, push constants, trace, end). Then we’ll flip to the user side: how these pieces are driven from GDScript via RenderingDevice, how to structure multi-stage shaders for iteration, and how to sequence BLAS/TLAS builds, and ray dispatch.
Attendees leave with both a practical blueprint for using ray tracing in Godot today and a clear mental model of the engine-side implementation decisions that make it work.