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:org.terasology.rendering.assets.skeletalmesh.SkeletalMesh.java
License:Apache License
public void postRender() { glDisableClientState(GL_NORMAL_ARRAY); 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.assets.skeletalmesh.SkeletalMesh.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);/* www . jav a 2 s .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(); VertexBufferObjectManager.getInstance().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, indices.size(), GL_UNSIGNED_INT, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); }
From source file:org.terasology.rendering.opengl.OpenGLMesh.java
License:Apache License
public void preRender() { if (!isDisposed()) { glEnableClientState(GL_VERTEX_ARRAY); if (hasTexCoord0 || hasTexCoord1) { glEnableClientState(GL_TEXTURE_COORD_ARRAY); }/*from w w w . j a v a 2 s.c om*/ 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); } 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); } } else { logger.error("Attempted to render disposed mesh: {}", getURI()); } }
From source file:org.terasology.rendering.opengl.OpenGLMesh.java
License:Apache License
public void postRender() { if (!isDisposed()) { if (hasNormal) { glDisableClientState(GL_NORMAL_ARRAY); }/*from w ww .j av a 2 s. com*/ 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); } else { logger.error("Attempted to render disposed mesh: {}", getURI()); } }
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 w w w . j av a 2 s .c o m 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 ww . j av a2 s. co 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); }/*from w ww. ja va 2s .c o m*/ 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); }