2015-02-09 86 views
1

OpenGL中的glDrawElements有四个参数。
第三个参数只能是GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORTGL_UNSIGNED_INT,而OpenGL es中的第三个参数不能是GL_UNSIGNED_INT
如果顶点数组非常大,则指数的类型必须是GL_UNSIGNED_INT
如何将OpenGL中的glDrawElements转移到OpenGL es中。OpenGL glDrawElements传输到OpenGL es glDrawElements

+0

请注意,它可以是'GL_UNSIGNED_BYTE',但它通常不是一个好主意。这将导致未对齐的内存访问(并降低性能)。当您的内存不受限制时,16位或32位索引可以更好地工作。 – 2015-02-10 00:54:16

回答

1

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

+0

非常感谢。 – 2015-02-09 09:35:25

0

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

+0

是的,我这样试,但效果不好 – 2015-02-09 05:26:42