考虑具有以下属性的2D模拟:
如果我没弄错的话,有两种解决这个问题的方法:
所以#1似乎完全没有问题。 #2是实现这一目标的唯一方法,还是有更好的方法我还没考虑过?
答案 0 :(得分:0)
从你的描述中不清楚为什么#1不可能。这是绘制多个小精灵的常用方法。您不仅限于1024个精灵,因为您可以创建多个地图集。即使一次批量处理200个实体,您也可以比逐个绘制它们做得更好。 但是,生成精灵的机制似乎很重要。如果你每帧都更新整个地图集,你可能会想要做其他事情。
答案 1 :(得分:0)
您可以使用多个地图册并通过额外的顶点属性(或3D纹理坐标)在一次调用中绘制,该属性告诉着色器使用哪个地图集。
有几种选择:
Array Textures可能是最优雅的解决方案,也是3.0的核心。