Example usage for org.lwjgl.opengl GL15 glBindBuffer

List of usage examples for org.lwjgl.opengl GL15 glBindBuffer

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL15 glBindBuffer.

Prototype

public static void glBindBuffer(@NativeType("GLenum") int target, @NativeType("GLuint") int buffer) 

Source Link

Document

Binds a named buffer object.

Usage

From source file:com.redthirddivision.quad.rendering.models.Model.java

License:Apache License

private void bindIndicesBuffer(int[] indices) {
    int vboID = GL15.glGenBuffers();
    ResourceManager.addVBO(vboID);//from   w  ww. j ava 2s. c om
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboID);
    IntBuffer buffer = Util.storeInIntBuffer(indices);
    GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW);
}

From source file:com.rfdickerson.openworld.CubeGeometry.java

@Override
void init() {// w  ww .j  av a  2 s  . c o  m

    float[] vertices = { -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f, 0.5f, 0.5f, -0.5f,
            0.5f, -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, -0.5f };

    byte[] indices = { 0, 1, 2, 0, 2, 3, 0, 3, 4, 4, 3, 5, 0, 4, 6, 0, 6, 1

    };

    indicesCount = indices.length;
    ByteBuffer indicesBuffer = BufferUtils.createByteBuffer(indicesCount);
    indicesBuffer.put(indices);
    indicesBuffer.flip();

    FloatBuffer verticesBuffer = BufferUtils.createFloatBuffer(vertices.length);
    verticesBuffer.put(vertices);
    verticesBuffer.flip();

    //vertexCount = 6;

    vaoId = GL30.glGenVertexArrays();
    GL30.glBindVertexArray(vaoId);

    vboId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, verticesBuffer, GL15.GL_STATIC_DRAW);

    GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);

    GL30.glBindVertexArray(0);

    vboiId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);
    GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indicesBuffer, GL15.GL_STATIC_DRAW);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);

    this.isLoaded = true;

    exitOnGLError("init terrain patch");

}

From source file:com.rfdickerson.openworld.CubeGeometry.java

@Override
void draw(SceneNode node) {

    if (!this.isLoaded) {
        this.init();
    } else {//  ww  w .  ja  va 2s.  c  o m

        GLSLShaderService shaderService = GLSLShaderService.getInstance();
        // use shader
        Shader basic = shaderService.findShader("basic");
        if (basic == null) {
            log.error("Could not find shader");
        } else {
            //shaderService.useShader(basic);
            //basic.setUniform4f("projectionMatrix", c.getProjectionMatrix());
            //basic.setUniform4f("viewMatrix", c.getViewMatrix());
            //basic.setUniform4f("modelMatrix", t);
            basic.setUniform4f("MVPMatrix", node.getMVPMatrix());
            basic.setUniform4f("MVMatrix", node.getMVMatrix());
            basic.setUniform3f("NormalMatrix", node.getNormalMatrix());

            shaderService.useShader(basic);

            GL20.glBindAttribLocation(basic.getProgramID(), 0, "in_Position");
        }

        GL30.glBindVertexArray(vaoId);
        GL20.glEnableVertexAttribArray(0);

        GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);

        GL11.glDrawElements(GL11.GL_TRIANGLE_FAN, indicesCount, GL11.GL_UNSIGNED_BYTE, 0);

        GL20.glDisableVertexAttribArray(0);
        GL30.glBindVertexArray(0);
    }

    exitOnGLError("draw terrain patch");

}

From source file:com.rfdickerson.openworld.CubeGeometry.java

@Override
void cleanup() {//from   w w  w. ja  va 2 s  .  co  m

    log.info("Cleaning up the SimpleTerrain");

    GL20.glDisableVertexAttribArray(0);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
    GL15.glDeleteBuffers(vboId);

    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);
    GL15.glDeleteBuffers(vboiId);

    GL30.glBindVertexArray(0);
    GL30.glDeleteVertexArrays(vaoId);

    this.isLoaded = false;

}

From source file:com.rfdickerson.openworld.RenderSurface.java

@Override
void init() {/* www . ja va  2s.  co  m*/

    float[] vertices = { -0.5f, 0f, -0.5f, -0.5f, 0f, 0.5f, 0.5f, 0f, 0.5f, 0.5f, 0f, -0.5f

    };

    byte[] indices = { 0, 1, 3, 1, 2, 3 };

    indicesCount = indices.length;
    ByteBuffer indicesBuffer = BufferUtils.createByteBuffer(indicesCount);
    indicesBuffer.put(indices);
    indicesBuffer.flip();

    FloatBuffer verticesBuffer = BufferUtils.createFloatBuffer(vertices.length);
    verticesBuffer.put(vertices);
    verticesBuffer.flip();

    //vertexCount = 6;

    vaoId = GL30.glGenVertexArrays();
    GL30.glBindVertexArray(vaoId);

    vboId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, verticesBuffer, GL15.GL_STATIC_DRAW);

    GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);

    GL30.glBindVertexArray(0);

    vboiId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);
    GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indicesBuffer, GL15.GL_STATIC_DRAW);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);

    this.isLoaded = true;

    exitOnGLError("init terrain patch");

}

From source file:com.rfdickerson.openworld.RenderSurface.java

@Override
void draw(SceneNode node) {

    if (!this.isLoaded) {
        this.init();
    } else {/*from  w ww.  java  2s  . c o  m*/

        GLSLShaderService shaderService = GLSLShaderService.getInstance();
        // use shader
        Shader basic = shaderService.findShader("basic");
        if (basic == null) {
            log.error("Could not find shader");
        } else {
            //shaderService.useShader(basic);
            //basic.setUniform4f("projectionMatrix", c.getProjectionMatrix());
            //basic.setUniform4f("viewMatrix", c.getViewMatrix());
            //basic.setUniform4f("modelMatrix", t);

            shaderService.useShader(basic);

            GL20.glBindAttribLocation(basic.getProgramID(), 0, "in_Position");
        }

        GL30.glBindVertexArray(vaoId);
        GL20.glEnableVertexAttribArray(0);

        GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);

        GL11.glDrawElements(GL11.GL_TRIANGLES, indicesCount, GL11.GL_UNSIGNED_BYTE, 0);

        GL20.glDisableVertexAttribArray(0);
        GL30.glBindVertexArray(0);
    }

    exitOnGLError("draw terrain patch");

}

From source file:com.runescape.client.revised.client.lwjgl.Mesh.java

License:Open Source License

public void addVertices(final Vertex[] vertices) {
    this.setSize(vertices.length);
    /* Vertex.getSize()) */;
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.getVbo());
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, Utilities.createFlippedBuffer(vertices), GL15.GL_STATIC_DRAW);
}

From source file:com.runescape.client.revised.client.lwjgl.Mesh.java

License:Open Source License

public void draw() {
    GL20.glEnableVertexAttribArray(0);/* ww  w  .jav  a 2  s .com*/
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.getVbo());
    GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, Vertex.getSize() * 4, 0);
    GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, this.getSize());
    GL20.glDisableVertexAttribArray(0);
}

From source file:com.rvantwisk.cnctools.opengl.VBOHelper.java

License:Open Source License

/**
 * Cretae a VBO array with//  w w w .j a  va2  s.co m
 *
 * @param data Array of float
 * @param i    Number of rows
 * @param b    set if it has it's own color
 * @return
 */
public static VBOHelper createLines(final float[] data, int i, boolean b) {
    VBOHelper vbo = new GLLines();
    vbo.vbRows = i;
    vbo.hasOwnColor = b;
    vbo.data = data;

    IntBuffer buffer = BufferUtils.createIntBuffer(1);
    GL15.glGenBuffers(buffer);
    vbo.vbID = buffer.get(0);

    FloatBuffer vertex_buffer_data = BufferUtils.createFloatBuffer(vbo.data.length);
    vertex_buffer_data.put(vbo.data);
    vertex_buffer_data.rewind();

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo.vbID);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertex_buffer_data, GL15.GL_STATIC_DRAW);
    vbo.data = null;

    return vbo;
}

From source file:com.rvantwisk.cnctools.opengl.VBOHelper.java

License:Open Source License

public static VBOHelper createTriangles(final float[] data, int i, boolean b) {
    VBOHelper vbo = new GLTriangles();
    vbo.vbRows = i;//  w  w  w  . j av a 2s.c  om
    vbo.hasOwnColor = b;
    vbo.data = data;

    IntBuffer buffer = BufferUtils.createIntBuffer(1);
    GL15.glGenBuffers(buffer);
    vbo.vbID = buffer.get(0);

    FloatBuffer vertex_buffer_data = BufferUtils.createFloatBuffer(vbo.data.length);
    vertex_buffer_data.put(vbo.data);
    vertex_buffer_data.rewind();

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo.vbID);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertex_buffer_data, GL15.GL_STATIC_DRAW);
    vbo.data = null;

    return vbo;
}