glDrawElements上的GL_INVALID_ENUM

时间:2019-02-25 23:28:59

标签: java opengl lwjgl

我正在使用参数nglDrawElements(4),glDrawElements,(顶点数量,大于0)和0来调用GL_TRIANGLESGL_UNSIGNED_SHORT)。错误是针对GL_TRIANGLES的,表示4是无效类型,但是glDrawArrays可以工作。 glDrawElements的代码:

nglDrawElements(GL_TRIANGLES, GL_UNSIGNED_SHORT, numVertices, 0);

glDrawArrays的工作代码:

glDrawArrays(GL_TRIANGLES, 0, numVertices);

为什么nglDrawElements会为GL_TRIANGLES引发错误?

1 个答案:

答案 0 :(得分:1)

那是因为您混淆了第二个参数(count和第三个参数(type),所以原型是

void glDrawElements(GLenum mode,
                    GLsizei count,
                    GLenum type,
                    const GLvoid * indices);