代码之家  ›  专栏  ›  技术社区  ›  CiNN

如何在一个glVertexPointer中批处理同一个正方形

  •  1
  • CiNN  · 技术社区  · 16 年前

    我读过一篇文章,为了优化绘图,人们可以在一个过程中使用相同的纹理绘制一组图形。
    但我如何将我的单打方块连接起来形成一个图形发送给glVertexPointer。

    (读入 PowerVR MBX.3D Application Development Recommendations.1.0.67a -第5页)

    2 回复  |  直到 16 年前
        1
  •  1
  •   ralphtheninja    16 年前

    在这种情况下,大数组将包含预转换的顶点数据,然后在一个draw调用中发送到GPU。既然你知道你要画多少个正方形,就说N个。该数组必须能够包含N*4*3个元素(假设您是在3d中工作,因此每个顶点有3个坐标)。

    GLVERTEXPINTER() .

    glTextureCordPointer() 在你开始画你的方块之前(推矩阵i,画四边形,弹出矩阵等)

    编辑:

    是的,这就是我想要的。你确定吗? 他们说打电话的开销 多次使用glVertexPointer和 glDrawArrays会慢一些。

    我要收回我的怀疑!:)你为什么不做一些措施,只是为了好玩?折衷的结果至少是你必须重新处理更多的数据。因此,如果GPU不能保存所有这些数据,那么常规转换可能是必要的。

        2
  •  0
  •   Macke    16 年前

    你想用索引吗?请参见glDrawElements。

    推荐文章