This technique sends draw calls directly to the GPU in order to render a big number of meshes with amazing performance. By creating buffers and updating them through a compute shader it allows each individual instance to hold it's own data separate from other instances, such as position, rotation, animation frame and texture ID.
The system is able to spawn 35,000 animated mesh instances while keeping 85 frames per second (GPU used: RTX 4060 8GB)


By creating buffers with per-instance data, each mesh instance can sample a different uv region inside the material. All models are being rendered through a single draw call.