我正在使用参数nglDrawElements
(4),glDrawElements
,(顶点数量,大于0)和0来调用GL_TRIANGLES
(GL_UNSIGNED_SHORT
)。错误是针对GL_TRIANGLES
的,表示4是无效类型,但是glDrawArrays
可以工作。
glDrawElements
的代码:
nglDrawElements(GL_TRIANGLES, GL_UNSIGNED_SHORT, numVertices, 0);
glDrawArrays
的工作代码:
glDrawArrays(GL_TRIANGLES, 0, numVertices);
为什么nglDrawElements会为GL_TRIANGLES引发错误?
答案 0 :(得分:1)
那是因为您混淆了第二个参数(count
和第三个参数(type
),所以原型是
void glDrawElements(GLenum mode,
GLsizei count,
GLenum type,
const GLvoid * indices);