List of usage examples for org.lwjgl.opengl GL15 GL_ARRAY_BUFFER
int GL_ARRAY_BUFFER
To view the source code for org.lwjgl.opengl GL15 GL_ARRAY_BUFFER.
Click Source Link
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); }