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:a1.gui.GUI_Map.java

License:Open Source License

private void initVBO() {
    tile_vbo = GL15.glGenBuffers();//from  ww  w . j a  v  a  2  s.  co m
    tileGrid_vbo = GL15.glGenBuffers();
    claim_vbo = GL15.glGenBuffers();

    FloatBuffer data = BufferUtils.createFloatBuffer(tile_vboSize);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tile_vbo);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, data, GL15.GL_DYNAMIC_DRAW);

    data = BufferUtils.createFloatBuffer(tileGrid_vboSize);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tileGrid_vbo);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, data, GL15.GL_DYNAMIC_DRAW);

    data = BufferUtils.createFloatBuffer(claim_vboSize);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, claim_vbo);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, data, GL15.GL_DYNAMIC_DRAW);

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

From source file:a1.gui.GUI_Map.java

License:Open Source License

private void updateVBO() {

    tile_drawCount = tile_Offset / 4;//from   www.  ja  va2  s.  co  m
    tileGrid_drawCount = tileGrid_Offset / 2;
    claim_drawCount = claim_Offset / 6;

    FloatBuffer data = BufferUtils.createFloatBuffer(tile_Offset);
    data.put(tile_vboUpdate, 0, tile_Offset);
    data.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tile_vbo);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, data);

    data = BufferUtils.createFloatBuffer(tileGrid_Offset);
    data.put(tileGrid_vboUpdate, 0, tileGrid_Offset);
    data.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tileGrid_vbo);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, data);

    data = BufferUtils.createFloatBuffer(claim_Offset);
    data.put(claim_vboUpdate, 0, claim_Offset);
    data.flip();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, claim_vbo);
    GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, data);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);

    tile_Offset = 0;
    tileGrid_Offset = 0;
    claim_Offset = 0;
}

From source file:a1.gui.GUI_Map.java

License:Open Source License

public void DrawTiles() {
    int x, y, i;//w  ww  .  jav  a2  s  .  c  o m
    int stw, sth;
    Coord oc, tc, ctc, sc;

    RenderedTiles = 0;
    Render2D.ChangeColor();
    Sprite.setStaticColor();

    //   ? ?
    stw = (TILE_SIZE * 4) - 2;
    sth = TILE_SIZE * 2;
    // ?  ?
    Coord sz = scaled_size;
    oc = viewoffset(sz, mc);
    //   ? ?
    tc = mc.div(TILE_SIZE);
    tc.x += -(sz.x / (2 * stw)) - (sz.y / (2 * sth)) - 2;
    tc.y += (sz.x / (2 * stw)) - (sz.y / (2 * sth));

    if (needUpdateView) {

        needUpdateView = false;

        for (y = 0; y < (sz.y / sth) + 13; y++) {
            for (x = 0; x < (sz.x / stw) + 3; x++) {
                for (i = 0; i < 2; i++) {
                    //   
                    ctc = tc.add(new Coord(x + y, y - x + i));
                    // ?  
                    sc = m2s(ctc.mul(TILE_SIZE)).add(oc);
                    sc.x -= TILE_SIZE * 2;
                    //  
                    //    ? 
                    drawtile(ctc, sc);
                }
            }
        }

        // ?   ? 
        if (Config.tile_grid) {
            for (y = 0; y < (sz.y / sth) + 2; y++) {
                for (x = 0; x < (sz.x / stw) + 3; x++) {
                    for (i = 0; i < 2; i++) {
                        ctc = tc.add(new Coord(x + y, -x + y + i));
                        sc = m2s(ctc.mul(TILE_SIZE)).add(oc);
                        drawtile_grid(sc);
                    }
                }
            }
        }

        if (render_claims) {
            Color col;
            for (ClaimPersonal claim : Claims.claims.values()) {

                if (Player.CharID == claim.owner_id) {
                    col = new Color(0f, 1f, 1f, 0.25f);
                    //                  if (Claims.expand_claim != null)
                    //                     continue;
                } else
                    col = new Color(1f, 0f, 0f, 0.25f);

                putClaim(claim, oc, col);
            }

            if (Claims.expand_claim != null) {
                col = new Color(0f, 0f, 0.8f, 0.17f);

                putClaim(Claims.expand_claim, oc, col);
            }
        }

        //
        updateVBO();
    }

    Color.white.bind();
    GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
    GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tile_vbo);
    GL11.glVertexPointer(2, GL11.GL_FLOAT, 16, 0L);
    GL11.glTexCoordPointer(2, GL11.GL_FLOAT, 16, 8L);

    Resource.textures.get("tiles").bind();

    GL11.glDrawArrays(GL11.GL_QUADS, 0, tile_drawCount);

    GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
    GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY);

    if (render_claims) {
        GL11.glEnableClientState(GL11.GL_COLOR_ARRAY);
        GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, claim_vbo);
        GL11.glColorPointer(4, GL11.GL_FLOAT, 24, 0L);
        GL11.glVertexPointer(2, GL11.GL_FLOAT, 24, 16L);
        GL11.glDrawArrays(GL11.GL_QUADS, 0, claim_drawCount);
        GL11.glDisableClientState(GL11.GL_COLOR_ARRAY);
    }

    if (Config.tile_grid) {
        GL11.glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
        GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, tileGrid_vbo);
        GL11.glVertexPointer(2, GL11.GL_FLOAT, 0, 0L);
        GL11.glDrawArrays(GL11.GL_LINES, 0, tileGrid_drawCount);
    }

    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
    GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);

}

From source file:ar.com.quark.backend.lwjgl.opengl.DesktopGLES20.java

License:Apache License

/**
 * {@inheritDoc}
 */
@Override
public void glBindBuffer(int target, int name) {
    GL15.glBindBuffer(target, name);
}

From source file:bd.ac.seu.lwjgldemo.Renderer.java

private void setupModel() {
    int COLUMNS_PER_ROW = 3;
    vertices = new double[NUM_VERTICES * COLUMNS_PER_ROW];
    for (int row = 0; row < vertices.length / COLUMNS_PER_ROW; row++) {
        vertices[row * COLUMNS_PER_ROW + 0] = Math.random();
        vertices[row * COLUMNS_PER_ROW + 1] = Math.random();
        vertices[row * COLUMNS_PER_ROW + 2] = 0;
    }//from  www.ja  va  2s .c  om

    DoubleBuffer buffer = BufferUtils.createDoubleBuffer(vertices.length);
    buffer.put(vertices);
    buffer.flip();

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

    vboId = GL15.glGenBuffers();
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW);
    GL20.glVertexAttribPointer(0, 3, GL11.GL_DOUBLE, false, 0, 0);

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

From source file:br.com.perin.renderEngine.Loader.java

private void storeDataInAttributeList(int attributeNumber, int coordSize, float[] data) {
    int vboID = GL15.glGenBuffers();
    vbos.add(vboID);/*www .j  ava  2  s. c om*/
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboID);
    FloatBuffer buffer = storeDataInFloatBuffer(data);
    GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW);
    GL20.glVertexAttribPointer(attributeNumber, coordSize, GL11.GL_FLOAT, false, 0, 0);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:br.com.perin.renderEngine.Loader.java

private void bindIndicesBuffer(int[] indices) {
    int vboId = GL15.glGenBuffers();
    vbos.add(vboId);//w w  w .j a  v  a  2  s  .c  o  m
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboId);
    IntBuffer buffer = storeDataInIntBuffer(indices);
    GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
}

From source file:bug1167.lwjgl.java

private void loop() {
    // This line is critical for LWJGL's interoperation with GLFW's
    // OpenGL context, or any context that is managed externally.
    // LWJGL detects the context that is current in the current thread,
    // creates the GLCapabilities instance and makes the OpenGL
    // bindings available for use.
    GL.createCapabilities();//w w  w. j  a v a  2s  .c om

    for (int i = 0; i < SQRT_BUILDING_COUNT; i++) {

        for (int k = 0; k < SQRT_BUILDING_COUNT; k++) {

            int index = (i * SQRT_BUILDING_COUNT + k) * Integer.BYTES;

            vertexBuffer.position(index);
            GL45.glCreateBuffers(1, vertexBuffer);

            indexBuffer.position(index);
            GL45.glCreateBuffers(1, indexBuffer);

            // Stick the data for the vertices and indices in their respective buffers
            ByteBuffer verticesBuffer = BufferUtils.createByteBuffer(512 * Byte.BYTES);
            GL45.glNamedBufferData(vertexBuffer.getInt(index), verticesBuffer.capacity() * Byte.BYTES,
                    verticesBuffer, GL_STATIC_DRAW);

            ByteBuffer indicesBuffer = BufferUtils.createByteBuffer(6 * Short.BYTES);
            GL45.glNamedBufferData(indexBuffer.getInt(index), indicesBuffer.capacity() * Byte.BYTES,
                    indicesBuffer, GL_STATIC_DRAW);

            // *** INTERESTING ***
            // get the GPU pointer for the vertex buffer and make the vertex buffer resident on the GPU
            GL15.glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer.getInt(index));
            NVShaderBufferLoad.glGetBufferParameterui64vNV(GL_ARRAY_BUFFER, GL_BUFFER_GPU_ADDRESS_NV,
                    vertexBufferGPUPtr);
            GL15.glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, vertexBufferSize);
            NVShaderBufferLoad.glMakeBufferResidentNV(GL_ARRAY_BUFFER, GL_READ_ONLY);
            GL15.glBindBuffer(GL_ARRAY_BUFFER, 0);
            // *** INTERESTING ***
            // get the GPU pointer for the index buffer and make the index buffer resident on the GPU
            GL15.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexBuffer.getInt(index));
            NVShaderBufferLoad.glGetBufferParameterui64vNV(GL_ELEMENT_ARRAY_BUFFER, GL_BUFFER_GPU_ADDRESS_NV,
                    indexBufferGPUPtr);
            GL15.glGetBufferParameteriv(GL_ELEMENT_ARRAY_BUFFER, GL_BUFFER_SIZE, indexBufferSize);
            NVShaderBufferLoad.glMakeBufferResidentNV(GL_ELEMENT_ARRAY_BUFFER, GL_READ_ONLY);
            GL15.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
        }
    }

    //        for (int i = 0; i < SQRT_BUILDING_COUNT*SQRT_BUILDING_COUNT; i++) {
    //            System.out.println(""+vertexBuffer.getInt(i*Integer.BYTES));
    //        }
    clearColor.rewind();

    // Run the rendering loop until the user has attempted to close
    // the window or has pressed the ESCAPE key.
    while (glfwWindowShouldClose(window) == GLFW_FALSE) {

        glClearColor(1.0f, 0.5f, 0.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the framebuffer

        GL30.glClearBufferfv(GL_COLOR, 0, clearColor);

        glfwSwapBuffers(window); // swap the color buffers

        // Poll for window events. The key callback above will only be
        // invoked during this call.
        glfwPollEvents();

        updateFPS();
    }
}

From source file:com.adavr.player.globjects.VertexBuffer.java

License:Open Source License

public static void bind(VertexBuffer vb) {
    GL15.glBindBuffer(vb.target, vb.id);
}

From source file:com.adavr.player.globjects.VertexBuffer.java

License:Open Source License

public static void unbind(VertexBuffer vb) {
    GL15.glBindBuffer(vb.target, 0);
}