渲染VBO时出错

时间:2013-03-25 00:46:34

标签: java opengl rendering lwjgl

使用以下方法使用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);

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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