0
我正在为2D场景中的每个精灵调用glDrawElements
。我想改变这一点。2D雪碧分批
该场景由到屏幕外呈现缓冲区中(FBO),并且在当前正在用来组成整个场景只有一个精灵片的质感。
如果我将所有glDrawElements
排队到一个单独的大缓冲区中,我认为这样会工作,但是......将来(当我有多个sprite-sheet纹理时),我必须提交当前缓冲区每次需要拨打glBindTexture
?
我问的原因(对于这个通常很明显的问题)是,FBO有一个深度缓冲区,这让我想知道我绘制精灵的顺序可能是微不足道的(这意味着我可以绘制所有的精灵为一个纹理,然后绘制所有的精灵为其他质地,而忽略其中我画他们(使用Z轴对它们进行排序)的顺序。
除非纹理图谱被允许超过OpenGL实现的最大纹理尺寸限制,否则在我的情况下是没用的。我的精灵表是使用我的工具构建的,对于给定的最大纹理尺寸尽可能最佳。 –