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 に答える