← All resources

Heterogenous AoS instance encoding for a GPU-driven renderer

Auto-discovered

Blog Advanced

Zino

Visit resource ↗

Description

Heterogenous AoS instance encoding for a GPU-driven renderer is a Substack technical note by Zino on packing mixed instance types into one GPU buffer without one bloated shared layout.

It starts from unified AoS instances for particles, foliage, procedural placements, and artist entities, shows a large shared struct that misses L1 cache-line size, discusses quantization and SoA tradeoffs, then proposes discriminant-prefixed per-type packing addressed by byte or word offsets that unpack into a common structure with defaults. Vegetation is a compact example versus full entity matrices, with ALU decode cost repaid by bandwidth on large scenes.

The audience is advanced engine programmers building GPU-driven culling and raster paths who already manage raw buffers. Newer readers will need that context first.

The post is free on Substack as a single article with code sketches. A Substack account is not required for the main text.

It is useful when a homogeneous instance stride wastes memory on sparse fields and you still want one shared rendering pipeline.