Antonio Caggiano

175 Followers
355 Following
59 Posts
Computer Graphics expert, musician, deeply in love with science, arts and literature.
Bloghttps://antoniocaggiano.eu
Githubhttps://github.com/Fahien

I’m looking forward to speaking at GodotCon in Amsterdam this Friday.

I’ll be giving “Integrating Vulkan Ray Tracing in Godot” again — mostly the same talk I presented at Vulkanised in San Diego, but adjusted a bit for a more Godot-focused audience, with less emphasis on low-level Vulkan details.

If you’ll be there, feel free to come say hi.

https://conference.godotengine.org/2026/
#Godot #Vulkan #RayTracing

GodotCon 2026

GodotCon Amsterdam April 23-24

The recording of my Vulkanised 2026 talk is now live 🎥

In this talk, I walk through the journey of bringing a Vulkan RT pipeline into Godot.

https://youtu.be/UavCZi9FgOg

Thanks to LunarG for the opportunity and to the @godotengine community for the reviews and feedback.

Vulkanised 2026: Integrating Vulkan Ray Tracing into the Godot Engine

YouTube

After a lot of iterations (and a lot of reviews 😄), my PR for a Vulkan Ray Tracing pipeline has been merged into Godot.

I’m grateful to everyone in the community who took the time to review, point out edge cases, and help shape the final result.

🔗 PR: https://github.com/godotengine/godot/pull/99119

For anyone who wants the deeper technical story, I’ll be presenting at Vulkanised 2026 in San Diego on Tuesday, Feb 10, 2026.

https://vulkan.org/events/vulkanised-2026

If you’ll be there, say hi!

#Bevy 0.17 is out now! It features Raytracing, Improved Observers / Events, UI Widgets, Rust Hotpatching, Light Textures, DLSS, Tilemap Chunks, Web Assets, Reflect Auto-Registration, Frame Time Graphs, UI Gradients, Raymarched Atmosphere, Virtual Geometry BVH Culling, and more!

https://bevy.org/news/bevy-0-17

Bevy 0.17

Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!

Final stream for November (will continue in December) tomorrow at 11 AM PST! This time we will attempt to trace some rays. Hopefully in less time than bindless took today :D

https://youtube.com/live/N1OVfBEcyb8?feature=share

Before you continue to YouTube

The next 3 articles in my CPU rasterizer tutorial series are done! These are all about adding full 3D support, with perspective projection, perspective interpolation, triangle clipping, and a depth buffer.

https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer-part-4.html

Implementing a tiny CPU rasterizer | Part 4: Changing perspective

lisyarus blog

Speaking at Develop North conference about Godot Engine this week.

Just published a technical breakdown of Godot's extension approaches that didn't make it into the talk. Covers:
- Tool Scripts vs Add-ons
- GDExtension implementation
- Engine Modules
- Custom engine modifications

Decision flowchart for choosing methods

https://claire-blackshaw.com/blog/2024/11/godot_extend/

#GameDev #GodotEngine #Programming

Godot Modular Design

There are many reasons I think that Godot is a great technical base and has a robust future, but chiefly among them is the modular way in which things are built and designed with the assumption that parts will be ripped out, replaced and improved. This is done through an easy to approach code base, modules system and robust support for addons and extensions through GDExtension (using godot-cpp)

Forest of Fun
I published "Computer Graphics: Follow the light". My talk at Paestum Tech Days, 1st of September 2024. Italian with english subtitles.
https://www.youtube.com/watch?v=2r3eyy8Y3Bw
Computer Grafica: Segui la luce

YouTube

I think people really don't appreciate just how incomplete Linux kernel API docs are, and how Rust solves part of the problem.

I wrote a pile of Rust abstractions for various subsystems. For practically every single one, I had to read the C source code to understand how to use its API.

Simply reading the function signature and associated doc comment (if any) or explicit docs (if you're lucky and they exist) almost never fully tells you how to safely use the API. Do you need to hold a lock? Does a ref counted arg transfer the ref or does it take its own ref?

When a callback is called are any locks held or do you need to acquire your own? What about free callbacks, are they special? What's the intended locking order? Are there special cases where some operations might take locks in some cases but not others?

Is a NULL argument allowed and valid usage, or not? What happens to reference counts in the error case? Is a returned ref counted pointer already incremented, or is it an implied borrow from a reference owned by a passed argument?

Is the return value always a valid pointer? Can it be NULL? Or maybe it's an ERR_PTR? Maybe both? What about pointers returned via indirect arguments, are those cleared to NULL on error or left alone? Is it valid to pass a NULL ** if you don't need that return pointer?

The Reg has top tier editors, I'm ded