OpenGL 有一个限制——在同一个绘制过程中,相同的缓存不能同时作为输入和输出。这意味着如果我们想要在一个顶点缓冲区中更新粒子,我们实际上需要两个 transform feedback 缓存并在它们之间进行切换。在第 N 帧的时候我们将在 buffer A 中更新粒子并从 buffer B 中渲染粒子,在第 N+1 帧的时候我们将在 buffer B 中更新粒子并从 buffer A 中渲染粒子。