Login  Register

Re: How to use VBO?

Posted by Chaz on Jan 19, 2015; 2:31pm
URL: https://forum.jogamp.org/How-to-use-VBO-tp4033871p4033886.html

Jesus Christ! Hallelujah! LOL
Actually i watched examples but all they was different.
This code is works!

public void CreateBuffer(GL2 gl)
    {
        this.gl=gl;
        BufferOffset=Buffers.newDirectIntBuffer(4);
        targetsBuffer = Buffers.newDirectIntBuffer(1);
        gl.glGenBuffers(1, targetsBuffer);
        gl.glBindBuffer(GL.GL_ARRAY_BUFFER, targetsBuffer.get(0));
        gl.glEnableClientState(gl.GL_VERTEX_ARRAY);

        gl.glBufferData(GL.GL_ARRAY_BUFFER, fBuff.capacity()*4, fBuff, GL.GL_STATIC_DRAW);

        gl.glDisableClientState(gl.GL_VERTEX_ARRAY);
    }

    @Override
    public void Draw(){
        gl.glBindBuffer(GL.GL_ARRAY_BUFFER,targetsBuffer.get(0));
        gl.glEnableClientState(GL2.GL_VERTEX_ARRAY);

        gl.glVertexPointer(3, GL.GL_FLOAT, 0, 0 );
        gl.glDrawArrays(GL2.GL_QUADS,0,fBuff.capacity()*4);

        gl.glBindBuffer(GL.GL_ARRAY_BUFFER,0);
        gl.glDisableClientState(GL2.GL_VERTEX_ARRAY);
    }