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:com.redthirddivision.quad.rendering.models.Model.java
License:Apache License
private void bindIndicesBuffer(int[] indices) { int vboID = GL15.glGenBuffers(); ResourceManager.addVBO(vboID);//from w ww. j ava 2s. 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() {// w ww .j av a 2 s . c o m 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.CubeGeometry.java
@Override void draw(SceneNode node) { if (!this.isLoaded) { this.init(); } else {// ww w . ja va 2s. c o m GLSLShaderService shaderService = GLSLShaderService.getInstance(); // use shader Shader basic = shaderService.findShader("basic"); if (basic == null) { log.error("Could not find shader"); } else { //shaderService.useShader(basic); //basic.setUniform4f("projectionMatrix", c.getProjectionMatrix()); //basic.setUniform4f("viewMatrix", c.getViewMatrix()); //basic.setUniform4f("modelMatrix", t); basic.setUniform4f("MVPMatrix", node.getMVPMatrix()); basic.setUniform4f("MVMatrix", node.getMVMatrix()); basic.setUniform3f("NormalMatrix", node.getNormalMatrix()); shaderService.useShader(basic); GL20.glBindAttribLocation(basic.getProgramID(), 0, "in_Position"); } GL30.glBindVertexArray(vaoId); GL20.glEnableVertexAttribArray(0); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL11.glDrawElements(GL11.GL_TRIANGLE_FAN, indicesCount, GL11.GL_UNSIGNED_BYTE, 0); GL20.glDisableVertexAttribArray(0); GL30.glBindVertexArray(0); } exitOnGLError("draw terrain patch"); }
From source file:com.rfdickerson.openworld.CubeGeometry.java
@Override void cleanup() {//from w w w. ja va 2 s . co m log.info("Cleaning up the SimpleTerrain"); GL20.glDisableVertexAttribArray(0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL15.glDeleteBuffers(vboId); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); GL15.glDeleteBuffers(vboiId); GL30.glBindVertexArray(0); GL30.glDeleteVertexArrays(vaoId); this.isLoaded = false; }
From source file:com.rfdickerson.openworld.RenderSurface.java
@Override void init() {/* www . ja va 2s. co 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.rfdickerson.openworld.RenderSurface.java
@Override void draw(SceneNode node) { if (!this.isLoaded) { this.init(); } else {/*from w ww. java 2s . c o m*/ GLSLShaderService shaderService = GLSLShaderService.getInstance(); // use shader Shader basic = shaderService.findShader("basic"); if (basic == null) { log.error("Could not find shader"); } else { //shaderService.useShader(basic); //basic.setUniform4f("projectionMatrix", c.getProjectionMatrix()); //basic.setUniform4f("viewMatrix", c.getViewMatrix()); //basic.setUniform4f("modelMatrix", t); shaderService.useShader(basic); GL20.glBindAttribLocation(basic.getProgramID(), 0, "in_Position"); } GL30.glBindVertexArray(vaoId); GL20.glEnableVertexAttribArray(0); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId); GL11.glDrawElements(GL11.GL_TRIANGLES, indicesCount, GL11.GL_UNSIGNED_BYTE, 0); GL20.glDisableVertexAttribArray(0); GL30.glBindVertexArray(0); } exitOnGLError("draw 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.runescape.client.revised.client.lwjgl.Mesh.java
License:Open Source License
public void draw() { GL20.glEnableVertexAttribArray(0);/* ww w .jav a 2 s .com*/ GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.getVbo()); GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, Vertex.getSize() * 4, 0); GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, this.getSize()); GL20.glDisableVertexAttribArray(0); }
From source file:com.rvantwisk.cnctools.opengl.VBOHelper.java
License:Open Source License
/** * Cretae a VBO array with// w w w .j a va2 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;// w w w . j av a 2s.c om 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; }