
Asynchronous Buffer Transfers
Ladislav Hrabcak and Arnaud Masserann
28.1 Introduction
Most 3D applications send large quantities of data from the CPU to the GPU on a
regular basis. Possible reasons include
• streaming data from hard drive or network: geometry, clipmapping, level of
detail (LOD), etc.;
• updating skeletal and blend-shapes animations on the CPU;
• computing a physics simulation;
• generating procedural meshes;
• data for instancing;
• setting uniform parameters for shaders with uniform buffers.
Likewise, it is often useful to read generated data back from the GPU. Possible sce-
narios are
• video capture [Kemen 10];
• physics simulation;
•