我需要更改OpenGL三角形的代码来制作OpenGL线? (LWJGL 2.9)(VAO和VBO)

时间:2016-11-12 13:01:36

标签: java lwjgl vbo vao

我只找到了传统绘图方式的教程等(即正在使用的GL_BEGIN())。我想使用像VAO和VBO这样的东西。我能够使用OpenGL三角形并使用索引缓冲区,但这并不适用于Lines。

我正在寻找回应,突出显示GL_LINES与GL_TRIANGLES相比的不同方式。这样,我没有被告知到底该做什么,但我不只是被引导到另一个资源。

这是我用于三角形的基本代码(没有索引缓冲区,着色器和纹理)

    int vao = GL30.glGenVertexArrays ( );
    GL30.glBindVertexArray ( vao );

    //@formatter:off
    float[] verts = {
        -0.5f , -0.5f ,
         0.5f , -0.5f ,
         0.0f ,  0.5f
    };
    //@formatter:on

    FloatBuffer buffer = BufferUtils.createFloatBuffer ( verts.length );
    buffer.put ( verts );
    buffer.flip ( );

    int vbo = GL15.glGenBuffers ( );

    GL15.glBindBuffer ( GL15.GL_ARRAY_BUFFER , vbo );

    GL15.glBufferData ( GL15.GL_ARRAY_BUFFER , buffer , GL15.GL_STATIC_DRAW );
    GL20.glVertexAttribPointer ( 0 , 3 , GL11.GL_FLOAT , false , 0 , 0 );
    GL11.glDrawArrays ( GL11.GL_TRIANGLES , 0 , 3 );

    GL30.glBindVertexArray ( 0 );

此代码与Line的代码有什么区别?

0 个答案:

没有答案