【问题标题】:OpenGL glDrawElements transfer to OpenGL es glDrawElementsOpenGL glDrawElements 转移到 OpenGL es glDrawElements
【发布时间】:2015-04-08 17:51:45
【问题描述】:

OpenGL 中的glDrawElements 有四个参数。
第三个参数只能是GL_UNSIGNED_BYTEGL_UNSIGNED_SHORTGL_UNSIGNED_INT,而OpenGL es中的第三个参数不能是GL_UNSIGNED_INT
如果顶点数组很大,索引的类型必须是GL_UNSIGNED_INT
如何将 OpenGL 中的 glDrawElements 转移到 OpenGL es。

【问题讨论】:

  • 请注意,它可以GL_UNSIGNED_BYTE,但一般来说这不是一个好主意。这将导致未对齐的内存访问(和性能下降)。当您的内存不受超级限制时,16 位或 32 位索引会更好地工作。

标签: opengl opengl-es


【解决方案1】:

您可以使用整数作为带有OES_element_index_uint 扩展名的元素数组的索引。然后drawElements可以用GL_UNSIGNED_INT调用

【讨论】:

    【解决方案2】:

    如果您有超过 65,535 个顶点(或 65,536 个没有原始重启),那么您必须将模型分成多个部分。

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2011-06-10
      • 2010-11-24
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多