我只找到了传统绘图方式的教程等(即正在使用的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的代码有什么区别?