Post
Drawing thousands of identical objects in a single GPU call by sending one mesh with a list of positions, dramatically reducing overhead.
Instanced rendering solves a fundamental performance problem: if you have a forest of 10,000 trees, sending each tree as a separate draw call to the GPU creates a massive CPU bottleneck from the overhead of issuing commands. Instead, instanced rendering sends the tree mesh once and includes a buffer of 10,000 transformation matrices (positions, rotations, scales) that tell the GPU where to draw each copy. The GPU processes all instances in a single call, and per-instance data can include variations like color tints, growth stages, or wind sway offsets to prevent the copies from looking identical. This technique is essential for any scene with repeated elements: grass, foliage, rocks, buildings in a city, or enemies in a crowd.
Example
The vast forests in The Witcher 3 rely on instanced rendering to place millions of grass blades and thousands of trees without bringing the GPU to its knees. Ghost of Tsushima's iconic fields of swaying grass and flowers use instancing with per-instance wind and color variation to create those breathtaking pastoral landscapes. Total War: Warhammer III renders battles with thousands of individually animated soldiers using instancing combined with animation variety to prevent the army from looking like a clone army.
Why it matters
Instanced rendering is what makes large, detailed game worlds feasible. Without it, the CPU overhead of individually commanding the GPU to draw each blade of grass, each tree, and each brick would make open-world games impossible at acceptable frame rates. It is the invisible optimization that lets artists populate environments with density and variety.
Related concepts