verve.gl — GPU instancing

A 16×16 field of 256 hue-varied pillars rendered in a single instanced draw call. Each instance has a non-uniform scale (sx/sz thin, sy tall and row-varying), exercising the inverse-transpose normal correction in the vertex shader so stretched faces remain correctly lit. Per-instance TRANSLATION, ROTATION, SCALE, and _COLOR_0 attributes are stored in the vmesh instances section (decoded from EXT_mesh_gpu_instancing in the source GLB). GlScene emits one draw_pbr_instanced command; both WebGL2 and WebGPU backends dispatch a single instanced draw for all 256 pillars.

256 pillars · 1 instanced draw call · non-uniform scale · normals corrected via inverse-transpose

Drag to orbit · wheel to zoom · Freeze pins the orbit. All 256 pillars are drawn in one GPU call via variant_instanced + draw_pbr_instanced (wire tag 27).

See also: per-instance frustum culling, multi-submesh instancing, and instanced shadows.