Example usage for org.lwjgl.opengl GL15 glBufferData

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

Introduction

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

Prototype

public static void glBufferData(@NativeType("GLenum") int target, @NativeType("void const *") double[] data,
        @NativeType("GLenum") int usage) 

Source Link

Document

Array version of: #glBufferData BufferData

Usage

From source file:com.opengrave.og.gui.UIElement.java

License:Open Source License

public void doBuffer() {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, getBufferID());
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, dataBuffer, GL15.GL_STATIC_DRAW);
}

From source file:com.opengrave.og.light.Depth2DFramebuffer.java

License:Open Source License

public Depth2DFramebuffer(int size) {
    framebufferSize = size;/*from ww w . j av a  2 s .  c  o m*/
    framebuffer = GL30.glGenFramebuffers();
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer);
    shadowMap = new Texture2DShadowMap(framebufferSize);

    shadowMap.bindToFrameBuffer();

    // GL11.glDrawBuffer(GL30.GL_COLOR_ATTACHMENT0);
    GL11.glDrawBuffer(GL11.GL_NONE);
    Util.checkErr();
    GL11.glReadBuffer(GL11.GL_NONE);
    int i = GL30.glCheckFramebufferStatus(GL30.GL_FRAMEBUFFER);
    if (i != GL30.GL_FRAMEBUFFER_COMPLETE) {
        throw new RuntimeException("Framebuffer creation failed with code: " + i);
    }
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0);

    // TESTING STUFF
    count = 2;
    FloatBuffer pos = BufferUtils.createFloatBuffer(3 * 3 * count);
    FloatBuffer tex = BufferUtils.createFloatBuffer(2 * 3 * count);
    pos.put(0.75f).put(0.75f).put(0f);
    pos.put(0.75f).put(0.25f).put(0f);
    pos.put(0.25f).put(0.75f).put(0f);
    pos.put(0.25f).put(0.25f).put(0f);

    pos.put(0.75f).put(0.25f).put(0f);
    pos.put(0.25f).put(0.75f).put(0f);
    pos.flip();
    tex.put(1f).put(1f);
    tex.put(1f).put(0f);
    tex.put(0f).put(1f);
    tex.put(0f).put(0f);
    tex.put(1f).put(0f);

    tex.put(0f).put(1f);
    tex.flip();
    vao_ID = GL30.glGenVertexArrays();
    GL30.glBindVertexArray(vao_ID);
    int vbo_pos_ID = GL15.glGenBuffers();
    int vbo_tex_ID = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo_pos_ID);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, pos, GL15.GL_STATIC_DRAW);
    GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo_tex_ID);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, tex, GL15.GL_STATIC_DRAW);
    GL20.glVertexAttribPointer(1, 2, GL11.GL_FLOAT, false, 0, 0);
}

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

License:Apache License

private void storeInAttribList(int attribNumber, int coordSize, float[] data) {
    int vboID = GL15.glGenBuffers();
    ResourceManager.addVBO(vboID);//  w  w  w .  ja v a  2  s .com
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboID);
    FloatBuffer buffer = Util.storeInFloatBuffer(data);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW);
    GL20.glVertexAttribPointer(attribNumber, coordSize, GL11.GL_FLOAT, false, 0, 0);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

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);/*  w  ww .  ja v  a2  s . 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() {/*from w  w  w  . j  a v  a  2 s.  c  om*/

    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.RenderSurface.java

@Override
void init() {//www .  j a  va  2s . c  o 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.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.rvantwisk.cnctools.opengl.VBOHelper.java

License:Open Source License

/**
 * Cretae a VBO array with//from   w  w w .j av a 2 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;/*from   w  w w .  ja  va2 s .  c  o  m*/
    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.samrj.devil.gl.VertexStream.java

License:Open Source License

@Override
void onBegin() {/*from   w w  w  .j  ava  2 s.c o m*/
    vboSize = maxVertices * vertexSize();
    vertexBlock = new Memory(vboSize);
    vertexBuffer = vertexBlock.buffer;
    vbo = GL15.glGenBuffers();
    int prevBinding = GL11.glGetInteger(GL15.GL_ARRAY_BUFFER_BINDING);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vboSize, GL15.GL_STREAM_DRAW);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, prevBinding);

    if (maxIndices > 0) {
        eboSize = maxIndices * 4;
        indexBlock = new Memory(eboSize);
        indexBuffer = indexBlock.buffer;
        ibo = GL15.glGenBuffers();
        prevBinding = GL11.glGetInteger(GL15.GL_ELEMENT_ARRAY_BUFFER_BINDING);
        GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, ibo);
        GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, eboSize, GL15.GL_STREAM_DRAW);
        GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, prevBinding);
    }

    state = State.READY;

    Profiler.addUsedVRAM(vboSize * 8L);
    Profiler.addUsedVRAM(eboSize * 8L);
}