A reusable, InstancedMesh-backed field of camera-facing billboard quads (grass, foliage,
crowds -- the "Unreal/Fortnite tree" pattern). Billboard-facing happens entirely CPU-side, per
instance, by writing a look-at rotation directly into that instance's slot of the shared
InstancedMesh matrix buffer -- the engine's existing isSprite billboard path never runs on
the instanced draw path (it's a separate, non-instanced-only code path), so this reimplements
the same "face the camera" math at the instance-matrix level instead, needing zero renderer
changes.
A reusable,
InstancedMesh-backed field of camera-facing billboard quads (grass, foliage, crowds -- the "Unreal/Fortnite tree" pattern). Billboard-facing happens entirely CPU-side, per instance, by writing a look-at rotation directly into that instance's slot of the sharedInstancedMeshmatrix buffer -- the engine's existingisSpritebillboard path never runs on the instanced draw path (it's a separate, non-instanced-only code path), so this reimplements the same "face the camera" math at the instance-matrix level instead, needing zero renderer changes.