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.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void updateVertexData(float[] vertexData) {
    vertexBuffer.clear();/* w w  w . j av a  2 s. com*/
    vertexBuffer.put(vertexData);
    vertexBuffer.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, vertexBuffer);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void updateIndexData(int[] indexData) {
    indexBuffer.clear();/*w w  w. j  a  v a 2  s .  c  o  m*/
    indexBuffer.put(indexData);
    indexBuffer.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboiId);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, indexBuffer);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void updateIndexData(Integer[] indexData) {
    indexBuffer.clear();/*w ww  . j  av a2 s  .c o m*/
    for (int i = 0; i < indexData.length; i++)
        indexBuffer.put(indexData[i]);
    indexBuffer.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboiId);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, indexBuffer);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void transform() {
    GL30.glBindVertexArray(vaoId);/*from  w w  w  .j a  v a  2 s . c o  m*/
    GL11.glEnable(GL30.GL_RASTERIZER_DISCARD);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId);

    transformShader.use();
    transformShader.info.initAttribPointers();
    transformShader.info.enableAttribs();

    GL30.glBindBufferBase(GL30.GL_TRANSFORM_FEEDBACK_BUFFER, 0, vboFeedbackId);
    GL30.glBeginTransformFeedback(GL11.GL_POINTS);
    GL11.glDrawArrays(GL11.GL_POINTS, 0, countElements);
    GL30.glEndTransformFeedback();

    transformShader.info.disableAttribs();
    transformShader.unuse();
    GL11.glDisable(GL30.GL_RASTERIZER_DISCARD);
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void getFeedbackData(float[] dst) {
    feedbackBuffer.clear();//w  ww .ja  v a  2  s  .co m
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId);
    GL15.glGetBufferSubData(GL15.GL_ARRAY_BUFFER, 0, feedbackBuffer);
    feedbackBuffer.get(dst);
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public FloatBuffer getFeedbackData() {
    feedbackBuffer.clear();// www .  j  av a  2  s.  co  m
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId);
    GL15.glGetBufferSubData(GL15.GL_ARRAY_BUFFER, 0, feedbackBuffer);
    return feedbackBuffer;
}

From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java

License:Open Source License

public void draw() {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId);
    renderShader.use();/*  ww  w.  ja v a  2  s.  co m*/
    renderShader.info.enableAttribs();
    renderShader.info.initAttribPointers();

    if (vboiId != GL11.GL_INVALID_VALUE) {
        GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);
        GL11.glDrawElements(GL11.GL_POINTS, countElements, GL11.GL_UNSIGNED_INT, 0);
    } else {
        GL11.glDrawArrays(GL11.GL_POINTS, 0, countElements);
    }

    renderShader.info.disableAttribs();
    renderShader.unuse();
    GL30.glBindVertexArray(0);
}

From source file:com.xrbpowered.gl.res.shaders.InstanceBuffer.java

License:Open Source License

public InstanceBuffer(int divisor, int count, int attribId, int[] elemCount) {
    this.divisor = divisor;
    this.attribId = attribId;
    this.elemCount = elemCount;
    stride = 0;/*from   w ww. ja  v  a  2 s . co m*/
    for (int i = 0; i < elemCount.length; i++) {
        stride += 4 * elemCount[i];
    }
    instanceBuffer = BufferUtils.createByteBuffer(count * stride).asFloatBuffer();

    iboId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, iboId);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, count * stride, GL15.GL_STATIC_DRAW);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
    Client.checkError();
}

From source file:com.xrbpowered.gl.res.shaders.InstanceBuffer.java

License:Open Source License

public void updateInstanceData(float[] instanceData, int count) {
    instanceBuffer.clear();//from w  ww. ja  va2s . c  o m
    instanceBuffer.put(instanceData, 0, count * stride / 4);
    instanceBuffer.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, iboId);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, instanceBuffer);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
    Client.checkError();
}

From source file:com.xrbpowered.gl.res.shaders.InstanceBuffer.java

License:Open Source License

public void enable() {
    int offs = 0;
    for (int i = 0; i < elemCount.length; i++) {
        GL20.glEnableVertexAttribArray(attribId + i);
        GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, iboId);
        GL20.glVertexAttribPointer(attribId + i, elemCount[i], GL11.GL_FLOAT, false, stride, offs);
        offs += 4 * elemCount[i];/*from w  w w  .ja va 2s .  com*/
        GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
        GL33.glVertexAttribDivisor(attribId + i, divisor);
        //         GL20.glGetVertexAttrib(attribId, GL33.GL_VERTEX_ATTRIB_ARRAY_DIVISOR, testParam);
        Client.checkError();
    }
}