List of usage examples for org.lwjgl.opengl GL15 glBufferData
public static void glBufferData(@NativeType("GLenum") int target, @NativeType("void const *") double[] data, @NativeType("GLenum") int usage)
From source file:com.opengrave.og.gui.UIElement.java
License:Open Source License
public void doBuffer() { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, getBufferID()); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, dataBuffer, GL15.GL_STATIC_DRAW); }
From source file:com.opengrave.og.light.Depth2DFramebuffer.java
License:Open Source License
public Depth2DFramebuffer(int size) { framebufferSize = size;/*from ww w . j av a 2 s . c o m*/ framebuffer = GL30.glGenFramebuffers(); GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer); shadowMap = new Texture2DShadowMap(framebufferSize); shadowMap.bindToFrameBuffer(); // GL11.glDrawBuffer(GL30.GL_COLOR_ATTACHMENT0); GL11.glDrawBuffer(GL11.GL_NONE); Util.checkErr(); GL11.glReadBuffer(GL11.GL_NONE); int i = GL30.glCheckFramebufferStatus(GL30.GL_FRAMEBUFFER); if (i != GL30.GL_FRAMEBUFFER_COMPLETE) { throw new RuntimeException("Framebuffer creation failed with code: " + i); } GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0); // TESTING STUFF count = 2; FloatBuffer pos = BufferUtils.createFloatBuffer(3 * 3 * count); FloatBuffer tex = BufferUtils.createFloatBuffer(2 * 3 * count); pos.put(0.75f).put(0.75f).put(0f); pos.put(0.75f).put(0.25f).put(0f); pos.put(0.25f).put(0.75f).put(0f); pos.put(0.25f).put(0.25f).put(0f); pos.put(0.75f).put(0.25f).put(0f); pos.put(0.25f).put(0.75f).put(0f); pos.flip(); tex.put(1f).put(1f); tex.put(1f).put(0f); tex.put(0f).put(1f); tex.put(0f).put(0f); tex.put(1f).put(0f); tex.put(0f).put(1f); tex.flip(); vao_ID = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vao_ID); int vbo_pos_ID = GL15.glGenBuffers(); int vbo_tex_ID = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo_pos_ID); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, pos, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo_tex_ID); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, tex, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(1, 2, GL11.GL_FLOAT, false, 0, 0); }
From source file:com.redthirddivision.quad.rendering.models.Model.java
License:Apache License
private void storeInAttribList(int attribNumber, int coordSize, float[] data) { int vboID = GL15.glGenBuffers(); ResourceManager.addVBO(vboID);// w w w . ja v a 2 s .com GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboID); FloatBuffer buffer = Util.storeInFloatBuffer(data); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(attribNumber, coordSize, GL11.GL_FLOAT, false, 0, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); }
From source file:com.redthirddivision.quad.rendering.models.Model.java
License:Apache License
private void bindIndicesBuffer(int[] indices) { int vboID = GL15.glGenBuffers(); ResourceManager.addVBO(vboID);/* w ww . ja v a2 s . c om*/ GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboID); IntBuffer buffer = Util.storeInIntBuffer(indices); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW); }
From source file:com.rfdickerson.openworld.CubeGeometry.java
@Override void init() {/*from w w w . j a v a 2 s. c om*/ float[] vertices = { -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f, 0.5f, 0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, -0.5f }; byte[] indices = { 0, 1, 2, 0, 2, 3, 0, 3, 4, 4, 3, 5, 0, 4, 6, 0, 6, 1 }; indicesCount = indices.length; ByteBuffer indicesBuffer = BufferUtils.createByteBuffer(indicesCount); indicesBuffer.put(indices); indicesBuffer.flip(); FloatBuffer verticesBuffer = BufferUtils.createFloatBuffer(vertices.length); verticesBuffer.put(vertices); verticesBuffer.flip(); //vertexCount = 6; vaoId = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vaoId); vboId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, verticesBuffer, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL30.glBindVertexArray(0); vboiId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indicesBuffer, GL15.GL_STATIC_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); this.isLoaded = true; exitOnGLError("init terrain patch"); }
From source file:com.rfdickerson.openworld.RenderSurface.java
@Override void init() {//www . j a va 2s . c o m float[] vertices = { -0.5f, 0f, -0.5f, -0.5f, 0f, 0.5f, 0.5f, 0f, 0.5f, 0.5f, 0f, -0.5f }; byte[] indices = { 0, 1, 3, 1, 2, 3 }; indicesCount = indices.length; ByteBuffer indicesBuffer = BufferUtils.createByteBuffer(indicesCount); indicesBuffer.put(indices); indicesBuffer.flip(); FloatBuffer verticesBuffer = BufferUtils.createFloatBuffer(vertices.length); verticesBuffer.put(vertices); verticesBuffer.flip(); //vertexCount = 6; vaoId = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vaoId); vboId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboId); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, verticesBuffer, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL30.glBindVertexArray(0); vboiId = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indicesBuffer, GL15.GL_STATIC_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); this.isLoaded = true; exitOnGLError("init terrain patch"); }
From source file:com.runescape.client.revised.client.lwjgl.Mesh.java
License:Open Source License
public void addVertices(final Vertex[] vertices) { this.setSize(vertices.length); /* Vertex.getSize()) */; GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.getVbo()); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, Utilities.createFlippedBuffer(vertices), GL15.GL_STATIC_DRAW); }
From source file:com.rvantwisk.cnctools.opengl.VBOHelper.java
License:Open Source License
/** * Cretae a VBO array with//from w w w .j av a 2 s . co m * * @param data Array of float * @param i Number of rows * @param b set if it has it's own color * @return */ public static VBOHelper createLines(final float[] data, int i, boolean b) { VBOHelper vbo = new GLLines(); vbo.vbRows = i; vbo.hasOwnColor = b; vbo.data = data; IntBuffer buffer = BufferUtils.createIntBuffer(1); GL15.glGenBuffers(buffer); vbo.vbID = buffer.get(0); FloatBuffer vertex_buffer_data = BufferUtils.createFloatBuffer(vbo.data.length); vertex_buffer_data.put(vbo.data); vertex_buffer_data.rewind(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo.vbID); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertex_buffer_data, GL15.GL_STATIC_DRAW); vbo.data = null; return vbo; }
From source file:com.rvantwisk.cnctools.opengl.VBOHelper.java
License:Open Source License
public static VBOHelper createTriangles(final float[] data, int i, boolean b) { VBOHelper vbo = new GLTriangles(); vbo.vbRows = i;/*from w w w . ja va2 s . c o m*/ vbo.hasOwnColor = b; vbo.data = data; IntBuffer buffer = BufferUtils.createIntBuffer(1); GL15.glGenBuffers(buffer); vbo.vbID = buffer.get(0); FloatBuffer vertex_buffer_data = BufferUtils.createFloatBuffer(vbo.data.length); vertex_buffer_data.put(vbo.data); vertex_buffer_data.rewind(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo.vbID); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertex_buffer_data, GL15.GL_STATIC_DRAW); vbo.data = null; return vbo; }
From source file:com.samrj.devil.gl.VertexStream.java
License:Open Source License
@Override void onBegin() {/*from w w w .j ava 2 s.c o m*/ vboSize = maxVertices * vertexSize(); vertexBlock = new Memory(vboSize); vertexBuffer = vertexBlock.buffer; vbo = GL15.glGenBuffers(); int prevBinding = GL11.glGetInteger(GL15.GL_ARRAY_BUFFER_BINDING); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vbo); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vboSize, GL15.GL_STREAM_DRAW); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, prevBinding); if (maxIndices > 0) { eboSize = maxIndices * 4; indexBlock = new Memory(eboSize); indexBuffer = indexBlock.buffer; ibo = GL15.glGenBuffers(); prevBinding = GL11.glGetInteger(GL15.GL_ELEMENT_ARRAY_BUFFER_BINDING); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, ibo); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, eboSize, GL15.GL_STREAM_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, prevBinding); } state = State.READY; Profiler.addUsedVRAM(vboSize * 8L); Profiler.addUsedVRAM(eboSize * 8L); }