Sign in

Pablo Delgado

@pablode.bsky.social
77 followers 49 following 29 posts

Rendering @ Chaos. Personal projects: github.com/pablode

PostsRepliesMedia
Pablo Delgado @pablode.bsky.social · 15/05/2026
Implemented some basic 'primvar analysis' in Gatling. The idea is to detect patterns in secondary primvars (not part of vertex layout) and modify data & interpolation. For now, just checking for constant values, which is surprisingly effective for some assets.
110
Pablo Delgado @pablode.bsky.social · 06/04/2026
There are some pretty nice test cases in this glTF issue which I'm looking forward to adding to the test suite: github.com/KhronosGroup...
000
Pablo Delgado @pablode.bsky.social · 06/04/2026
Currently implementing Gaussian splatting in guc (glTF to USD converter) so that it can be released as soon as the extension comes out of RC status.
100
Pablo Delgado @pablode.bsky.social · 28/03/2026
I also hooked it up to the USD animation system, so that it matches playback and can be controlled with the usdview slider.
010
Pablo Delgado @pablode.bsky.social · 28/03/2026
This weekend I added support for the MaterialX <time> and <frame> nodes to Gatling. Procedural materials can now be animated over time, such as this clock authored by Roberto Ziche:
121
Pablo Delgado @pablode.bsky.social · 18/01/2026
In general, it was nice getting to know Metal a bit - and I can't wait writing some user land code on my MacBook Air! Btw: Vulkan backend is ~3,8k LOC and Metal ~2,2k LOC.
020
Pablo Delgado @pablode.bsky.social · 18/01/2026
As these functions don't have access to intrinsics, we need to pass them along as part of their signature. Which the function tables are parameterized with. Here's an example of how the ray generation shader signature ends up looking with two ray payloads:
100
Pablo Delgado @pablode.bsky.social · 18/01/2026
Closest-hit shaders and miss shaders need to be emulated. They are compiled with their entry points being "visible" and are invoked from visible function tables (VFTs) based on the traversal result. For each payload type we have 1x IFT and 2x VFTs.
100
Pablo Delgado @pablode.bsky.social · 18/01/2026
Finally finished Gatling's Metal backend! Here's a teaser of NVIDIA's USD / MDL sample scene 'Attic' running on macOS. What's special about the backend is probably that it uses the same GLSL code as the Vulkan backend, complete with hardware ray tracing. How does that work?
2152
Pablo Delgado @pablode.bsky.social · 07/12/2025
Spent some time this weekend updating Gatling’s Blender integration to the latest 5.0 release.
110
Pablo Delgado @pablode.bsky.social · 12/10/2025
Btw, a few weeks ago I released a small plugin for usdview. It allows inspection of UsdShade networks using a custom Qt node graph. It’s open source, lightweight and simple to install.
130
Pablo Delgado @pablode.bsky.social · 28/06/2025
Small weekend experiment: ported an LCD shader from Blender to #MaterialX (originally authored by PixlFX)
110
Pablo Delgado @pablode.bsky.social · 11/03/2025
Implemented USD point instancer primvar support in my toy renderer the last few days. Can now render this 2D Gaussian Splatting (2DGS) scene with a single mesh & MaterialX material. (Created by Oliver Markowski with Houdini, link see below ⬇️)
151
Pablo Delgado @pablode.bsky.social · 03/01/2025
Lastly, implemented proper support for AOVs including those used for picking (primId, instanceId, elementId). (asset: standard shader ball) (4/4)
000
Pablo Delgado @pablode.bsky.social · 03/01/2025
To reduce the memory footprint, I first run the geometry through meshoptimizer which culls and deduplicates vertices. Next, the data is compressed with blosc. The results are quite good. Decompression only happens when a BLAS is rebuilt. (3/4)
100
Pablo Delgado @pablode.bsky.social · 03/01/2025
Furthermore implemented #MaterialX geompropvalues (MDL scene data), and GeomSubsets. This required quite some code rewriting, as I now store a copy of the CPU geometry data in the renderer itself. Here’s a render of stehrani3d’s MaterialEggs which make use of these features (2/4)
110
Pablo Delgado @pablode.bsky.social · 03/01/2025
Made good progress with gatling lately, and one of the new features is graphical tests. They primarily run on GitHub Actions using Mesa lavapipe (supports ray tracing). Thresholds are specified as USD render settings, diff images are uploaded as artifacts (1/4)
120