Sprite Batching:先进的技术

时间:2013-10-08 13:12:46

标签: opengl batch-processing spritebatch

我正在制作基于OpenGL2的应用程序,它在每次迭代中渲染超过200个精灵。我想使用较少的drawcalls,因为我经常渲染具有相同纹理的多个精灵。不幸的是,由于Z-Sorting,常规的批处理技术对我不利。所有元素的绘制顺序都很重要,所以我不能将它们分组并按组绘制。

我想知道,在那种情况下是否有另一种配料技术可供使用。例如,我可以修改着色器以同时处理多个纹理(虽然听起来像一个糟糕的决定)。分享您的知识。

UPD 09.10.13:我还认为,由于显着的材料数量减少,atlas纹理将减少drawcalls。

1 个答案:

答案 0 :(得分:1)

我发现实例化渲染可以加速A LOT(在2 FPS下跟踪100000个二十面体,正常渲染到实例渲染时超过60 fps)。关于该主题的红皮书中有一个很好的“实例渲染”部分。希望这可以应用于您的问题。