0

使用以下方法使用 vbos 进行渲染,我收到此错误:

Exception in thread "main" org.lwjgl.opengl.OpenGLException: Cannot use offsets when Array Buffer Object is disabled

渲染方法:

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.vertexHandle);
    GL11.glVertexPointer(3, GL11.GL_FLOAT, 0, 0L);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.normalHandle);
    GL11.glNormalPointer(GL11.GL_FLOAT, 0, 0L);

    GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
    GL11.glEnableClientState(GL11.GL_NORMAL_ARRAY);

    GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, this.faces.size() * 3);

    GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
    GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);

任何人都可以帮忙吗?

4

1 回答 1

0

这意味着数组缓冲区对象(在您的情况下为 vertexHandle 或 normalHandle)未链接到任何带有数据的源。尝试检查数组缓冲区对象的初始化。

于 2014-03-12T11:59:55.540 回答