Example usage for org.lwjgl.opengl GL15 GL_ARRAY_BUFFER

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

Introduction

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

Prototype

int GL_ARRAY_BUFFER

To view the source code for org.lwjgl.opengl GL15 GL_ARRAY_BUFFER.

Click Source Link

Document

Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferParameteriv, and GetBufferPointerv.

Usage

From source file:org.terasology.rendering.opengl.OpenGLSkeletalMesh.java

License:Apache License

public void doRender(List<Vector3f> verts, List<Vector3f> normals) {
    FloatBuffer vertBuffer = BufferUtils.createFloatBuffer(verts.size() * 6);
    for (int i = 0; i < verts.size(); ++i) {
        Vector3f vert = verts.get(i);
        vertBuffer.put(vert.x);//from  www .j  ava  2s  .com
        vertBuffer.put(vert.y);
        vertBuffer.put(vert.z);
        Vector3f norm = normals.get(i);
        vertBuffer.put(norm.x);
        vertBuffer.put(norm.y);
        vertBuffer.put(norm.z);
    }
    vertBuffer.flip();
    VertexBufferObjectUtil.bufferVboData(vboPosNormBuffer, vertBuffer, GL15.GL_DYNAMIC_DRAW);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboPosNormBuffer);
    glVertexPointer(VECTOR3_SIZE, GL_FLOAT, STRIDE, 0);
    glNormalPointer(GL_FLOAT, STRIDE, NORMAL_OFFSET);

    GL11.glDrawElements(GL11.GL_TRIANGLES, data.getIndices().size(), GL_UNSIGNED_INT, 0);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:org.terasology.rendering.primitives.ChunkMesh.java

License:Apache License

private void renderVbo(int id) {
    if (lock.tryLock()) {
        try {//from w w w. jav a2 s  .c o m
            if (vertexBuffers[id] <= 0 || disposed) {
                return;
            }

            glEnableClientState(GL_VERTEX_ARRAY);
            glEnableClientState(GL_TEXTURE_COORD_ARRAY);
            glEnableClientState(GL_COLOR_ARRAY);
            glEnableClientState(GL_NORMAL_ARRAY);

            GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, idxBuffers[id]);
            GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexBuffers[id]);

            glVertexPointer(SIZE_VERTEX, GL11.GL_FLOAT, STRIDE, OFFSET_VERTEX);

            GL13.glClientActiveTexture(GL13.GL_TEXTURE0);
            glTexCoordPointer(SIZE_TEX0, GL11.GL_FLOAT, STRIDE, OFFSET_TEX_0);

            GL13.glClientActiveTexture(GL13.GL_TEXTURE1);
            glTexCoordPointer(SIZE_TEX1, GL11.GL_FLOAT, STRIDE, OFFSET_TEX_1);

            glColorPointer(SIZE_COLOR * 4, GL11.GL_UNSIGNED_BYTE, STRIDE, OFFSET_COLOR);

            glNormalPointer(GL11.GL_FLOAT, STRIDE, OFFSET_NORMAL);

            GL11.glDrawElements(GL11.GL_TRIANGLES, vertexCount[id], GL11.GL_UNSIGNED_INT, 0);

            GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
            GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);

            glDisableClientState(GL_NORMAL_ARRAY);
            glDisableClientState(GL_COLOR_ARRAY);
            glDisableClientState(GL_TEXTURE_COORD_ARRAY);
            glDisableClientState(GL_VERTEX_ARRAY);

        } finally {
            lock.unlock();
        }
    }
}

From source file:org.terasology.rendering.primitives.Mesh.java

License:Apache License

public void preRender() {
    glEnableClientState(GL_VERTEX_ARRAY);
    if (hasTexCoord0 || hasTexCoord1)
        glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    if (hasColor)
        glEnableClientState(GL_COLOR_ARRAY);
    if (hasNormal)
        glEnableClientState(GL_NORMAL_ARRAY);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboVertexBuffer);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboIndexBuffer);

    glVertexPointer(VERTEX_SIZE, GL11.GL_FLOAT, stride, vertexOffset);

    if (hasTexCoord0) {
        GL13.glClientActiveTexture(GL13.GL_TEXTURE0);
        glTexCoordPointer(TEX_COORD_0_SIZE, GL11.GL_FLOAT, stride, texCoord0Offset);
    }/* w w w. j a  v a2s  . c  om*/

    if (hasTexCoord1) {
        GL13.glClientActiveTexture(GL13.GL_TEXTURE1);
        glTexCoordPointer(TEX_COORD_1_SIZE, GL11.GL_FLOAT, stride, texCoord1Offset);
    }

    if (hasColor)
        glColorPointer(COLOR_SIZE, GL11.GL_FLOAT, stride, colorOffset);
    if (hasNormal)
        glNormalPointer(GL11.GL_FLOAT, stride, normalOffset);
}

From source file:org.terasology.rendering.primitives.Mesh.java

License:Apache License

public void postRender() {
    if (hasNormal)
        glDisableClientState(GL_NORMAL_ARRAY);
    if (hasColor)
        glDisableClientState(GL_COLOR_ARRAY);
    if (hasTexCoord0 || hasTexCoord1)
        glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    glDisableClientState(GL_VERTEX_ARRAY);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);
}

From source file:org.terasology.rendering.VertexBufferObjectUtil.java

License:Apache License

public static void bufferVboData(int id, FloatBuffer buffer, int drawMode) {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, id);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, drawMode);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:org.terasology.rendering.VertexBufferObjectUtil.java

License:Apache License

public static void bufferVboData(int id, IntBuffer buffer, int drawMode) {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, id);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, drawMode);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:org.terasology.rendering.VertexBufferObjectUtil.java

License:Apache License

public static void bufferVboData(int id, ByteBuffer buffer, int drawMode) {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, id);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, drawMode);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:org.terasology.rendering.VertexBufferObjectUtil.java

License:Apache License

public static void bufferVboData(int id, ShortBuffer buffer, int drawMode) {
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, id);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, drawMode);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:ovh.tgrhavoc.gameengine.core.Mesh.java

License:Open Source License

private void addVerticies(Vertex[] verticies, int[] indecies, boolean calcNorms) {

    if (calcNorms) {
        this.calcNorms(verticies, indecies);
    }/*from   w  w w .j  a v a 2  s.  com*/

    size = indecies.length;

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, Util.createFlippedBuffer(verticies), GL15.GL_STATIC_DRAW);

    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, ibo);
    GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, Util.createFlippedBuffer(indecies), GL15.GL_STATIC_DRAW);

}

From source file:ovh.tgrhavoc.gameengine.core.Mesh.java

License:Open Source License

public void draw() {
    GL20.glEnableVertexAttribArray(0);// www  . ja  v  a  2  s  . co m
    GL20.glEnableVertexAttribArray(1);
    GL20.glEnableVertexAttribArray(2);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo);

    GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, Vertex.SIZE * 4, 0);

    GL20.glVertexAttribPointer(1, 2, GL11.GL_FLOAT, false, Vertex.SIZE * 4, 12);

    GL20.glVertexAttribPointer(2, 3, GL11.GL_FLOAT, false, Vertex.SIZE * 4, 20);

    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, ibo);

    GL11.glDrawElements(GL11.GL_TRIANGLES, size, GL11.GL_UNSIGNED_INT, 0);

    GL20.glDisableVertexAttribArray(0);
    GL20.glDisableVertexAttribArray(1);
    GL20.glDisableVertexAttribArray(2);
}