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:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public FeedbackVertices(Shader transformShader, Shader renderShader, int count, boolean createIndices) { this.transformShader = transformShader; this.renderShader = renderShader; this.countElements = count; vertexBuffer = BufferUtils.createByteBuffer(count * transformShader.info.getStride()).asFloatBuffer(); feedbackBuffer = BufferUtils.createByteBuffer(count * renderShader.info.getStride()).asFloatBuffer(); vaoId = GL30.glGenVertexArrays();/*ww w. jav a 2 s . co m*/ GL30.glBindVertexArray(vaoId); vboId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, count * transformShader.info.getStride(), GL15.GL_DYNAMIC_DRAW); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); vboFeedbackId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, count * renderShader.info.getStride(), GL15.GL_DYNAMIC_DRAW); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL30.glBindVertexArray(0); if (createIndices) { indexBuffer = BufferUtils.createByteBuffer(count * 4).asIntBuffer(); vboiId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, count * 4, GL15.GL_DYNAMIC_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); } Client.checkError(); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void updateVertexData(float[] vertexData) { vertexBuffer.clear();/*from ww w. j a v a2s .co m*/ vertexBuffer.put(vertexData); vertexBuffer.flip(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, vertexBuffer); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void updateIndexData(int[] indexData) { indexBuffer.clear();/*ww w . ja v a2s . co m*/ indexBuffer.put(indexData); indexBuffer.flip(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboiId); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, indexBuffer); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void updateIndexData(Integer[] indexData) { indexBuffer.clear();/*from w w w . ja va2 s . com*/ for (int i = 0; i < indexData.length; i++) indexBuffer.put(indexData[i]); indexBuffer.flip(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboiId); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, indexBuffer); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void transform() { GL30.glBindVertexArray(vaoId);/*from w w w . j a v a 2 s . c om*/ GL11.glEnable(GL30.GL_RASTERIZER_DISCARD); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId); transformShader.use(); transformShader.info.initAttribPointers(); transformShader.info.enableAttribs(); GL30.glBindBufferBase(GL30.GL_TRANSFORM_FEEDBACK_BUFFER, 0, vboFeedbackId); GL30.glBeginTransformFeedback(GL11.GL_POINTS); GL11.glDrawArrays(GL11.GL_POINTS, 0, countElements); GL30.glEndTransformFeedback(); transformShader.info.disableAttribs(); transformShader.unuse(); GL11.glDisable(GL30.GL_RASTERIZER_DISCARD); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void getFeedbackData(float[] dst) { feedbackBuffer.clear();/* ww w . ja va 2s .c o m*/ GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId); GL15.glGetBufferSubData(GL15.GL_ARRAY_BUFFER, 0, feedbackBuffer); feedbackBuffer.get(dst); }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public FloatBuffer getFeedbackData() { feedbackBuffer.clear();/* w w w. j a v a 2 s . c om*/ GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId); GL15.glGetBufferSubData(GL15.GL_ARRAY_BUFFER, 0, feedbackBuffer); return feedbackBuffer; }
From source file:com.xrbpowered.gl.res.shaders.FeedbackVertices.java
License:Open Source License
public void draw() { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboFeedbackId); renderShader.use();/*from w ww . j a v a2s .com*/ renderShader.info.enableAttribs(); renderShader.info.initAttribPointers(); if (vboiId != GL11.GL_INVALID_VALUE) { GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL11.glDrawElements(GL11.GL_POINTS, countElements, GL11.GL_UNSIGNED_INT, 0); } else { GL11.glDrawArrays(GL11.GL_POINTS, 0, countElements); } renderShader.info.disableAttribs(); renderShader.unuse(); GL30.glBindVertexArray(0); }
From source file:com.xrbpowered.gl.res.shaders.InstanceBuffer.java
License:Open Source License
public InstanceBuffer(int divisor, int count, int attribId, int[] elemCount) { this.divisor = divisor; this.attribId = attribId; this.elemCount = elemCount; stride = 0;/*from ww w .j a v a2s . co m*/ for (int i = 0; i < elemCount.length; i++) { stride += 4 * elemCount[i]; } instanceBuffer = BufferUtils.createByteBuffer(count * stride).asFloatBuffer(); iboId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, iboId); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, count * stride, GL15.GL_STATIC_DRAW); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); Client.checkError(); }
From source file:com.xrbpowered.gl.res.shaders.InstanceBuffer.java
License:Open Source License
public void updateInstanceData(float[] instanceData, int count) { instanceBuffer.clear();/*from ww w . j a v a2 s.co m*/ instanceBuffer.put(instanceData, 0, count * stride / 4); instanceBuffer.flip(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, iboId); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, instanceBuffer); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); Client.checkError(); }