使用以下方法使用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);
有人可以帮忙吗?
答案 0 :(得分:0)
这意味着数组缓冲区对象(在您的情况下为vertexHandle或normalHandle)未链接到任何具有数据的源。尝试检查数组缓冲区对象的初始化。