List of usage examples for org.lwjgl.opengl GL15 glBindBuffer
public static void glBindBuffer(@NativeType("GLenum") int target, @NativeType("GLuint") int buffer)
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); }