What I’m working on right now is a Metal backend for gatling. The idea is to use metal-cpp with GLSL shaders, by forking SPIRV-cross to support ray tracing pipelines :) (very WIP)
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.
Small weekend experiment: ported an LCD shader from Blender to #MaterialX (originally by PixlFX, download link below)
Implemented USD point instancer primvar support 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 ⬇️)
Fun vacation experiment: implemented Interior Mapping as #MaterialX node graph 😀
Lastly, implemented proper support for AOVs including those used for picking (primId, instanceId, elementId). (asset: standard shader ball) (4/4)
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)
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)







