这仅仅是出于兴趣,但GL_VERTEX_ARRAY将“保持”并通过drawArrays()等渲染的椎体量有限制吗?或者我理论上可以通过几百万个顶点,仍然可以调用drawArrays()吗?
答案 0 :(得分:3)
肯定有一个限制,但据我所知它只是基于可用内存,所以你可能有几百万个顶点。
答案 1 :(得分:3)
由于OpenGL-1.2在使用glDrawRangeElements
时有一定的限制:
实现表示建议的最大顶点和索引量 数据,可以通过调用查询 具有象征意义的
GetIntegerv
常量MAX_ELEMENTS_VERTICES
和MAX_ELEMENTS_INDICES
。如果 end-start + 1 大于MAX_ELEMENTS_VERTICES
的值,或者如果count是。{ 大于MAX_ELEMENTS_INDICES
的值,则呼叫可以在。{ 性能下降。没有 要求所有顶点 范围开始;最后引用。 但是,实施可能 部分处理未使用的顶点, 从可能的方面降低性能 用最佳索引集实现。
但这更像是一种推荐,一种严格的约束。除此之外,真正的限制是安装的内存量,以及索引元素数组所选类型可以解决的问题
然而,glDrawRangeElements
的限制通常也可以很好地指示批量大小。