我正在使用参数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引发错误?

最佳答案

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

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

10-08 13:26