绘制简单的纹理几何graphics并保持深度testing的最快方法是什么?

我正在寻找一种快速的方法来绘制简单的三维几何 – 这将包括多达10个顶点。 它们中的每一个都将具有纹理(虽然在几何之间变化)。 我也想存储深度testing的片段深度。

将没有照明,只有非常简单的转换(这实际上是等距游戏)。

到目前为止,我所做的就是试图使用OpenGL来绘制简单的四边形(问题实际上归结为什么)。 对于我的机器(从2008年左右),我有以下结果:

  • 使用即时模式4800四边形花了120毫秒
  • 使用顶点数组和VBO大约需要40毫秒

我看到的问题是glDraw *调用的瓶颈。 我想以某种方式得到低于4-5毫秒,因为屏幕上会有很多对象。 任何有关如何可能(或可能不能)实现的想法?

我建议你在CPU端创建一个巨大的数组,它将与GPU端的顶点缓冲区链接。

在每一帧你用来自所有网格的顶点填充该数组。 所以你可以批量一定数量的平局。

诀窍是首先通过着色器对物体进行sorting,然后通过贴图进行sorting,具体取决于您是否具有透明物体。

为了在适当的时候改变你的纹理,你必须使用一堆包含顶点数的对象和这些顶点的公共材质参数。

即使是最好的,如果你可以交叉顶点位置与uvs在巨大的arrays。

希望这可以帮助。