List of usage examples for org.lwjgl.opengl GL30 glBindVertexArray
public static void glBindVertexArray(@NativeType("GLuint") int array)
From source file:org.bonsaimind.badgersvoyage.opengl.RenderObject.java
License:Open Source License
protected void createOpenGL(int programId) { modelMatrix = new Matrix4f(); modelMatrixLocation = GL20.glGetUniformLocation(programId, "modelMatrix"); modelMatrixBuffer = BufferUtils.createFloatBuffer(16); verticesCount = vertices.length / 3; verticesBuffer = BufferUtils.createFloatBuffer(vertices.length); verticesBuffer.put(vertices);// w ww .j a va 2s . c o m verticesBuffer.flip(); 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); }
From source file:org.easygl.opengl.primitives.VertexArrayObject.java
protected final void bind() { GL30.glBindVertexArray(this.id); }
From source file:org.easygl.opengl.primitives.VertexArrayObject.java
protected final void unbind() { GL30.glBindVertexArray(0); }
From source file:org.obsidianbox.obsidian.renderer.GuiRenderer.java
License:MIT License
@Override public void render() { // Snapshot Minecraft rendering final int mcProgId = GL11.glGetInteger(GL20.GL_CURRENT_PROGRAM); final int mcVAID = GL11.glGetInteger(GL11.GL_VERTEX_ARRAY); updateScaledAttributes();/*from w w w . ja va2 s.c om*/ LWJGLUtil.checkForGLError(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); pipeline.run(context); GL11.glDisable(GL11.GL_BLEND); LWJGLUtil.checkForGLError(); GL20.glUseProgram(mcProgId); GL30.glBindVertexArray(mcVAID); LWJGLUtil.checkForGLError(); }
From source file:org.spout.engine.renderer.GL30BatchVertexRenderer.java
License:Open Source License
/** * Batch Renderer using OpenGL 3.0 mode. * @param renderMode Mode to render in/*from w w w. j a v a 2 s. c o m*/ */ public GL30BatchVertexRenderer(int renderMode) { super(renderMode); vao = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vao); vertexBuffers.put(0, new VertexBufferImpl("vPosition", 4, 0)); }
From source file:org.spout.engine.renderer.GL30BatchVertexRenderer.java
License:Open Source License
@Override protected void doFlush() { GL30.glBindVertexArray(vao); FloatBuffer vBuffer = BufferUtils.createFloatBuffer(vertexBuffer.size()); vBuffer.clear();/* w ww. j a v a2 s .c o m*/ vBuffer.put(vertexBuffer.toArray()); vBuffer.flip(); vertexBuffers.get(0).flush(vBuffer); if (useColors) { if (vertexBuffers.get(1) == null) { vertexBuffers.put(1, new VertexBufferImpl("vColor", 4, 1)); } vBuffer.clear(); vBuffer.put(colorBuffer.toArray()); vBuffer.flip(); vertexBuffers.get(1).flush(vBuffer); } if (useNormals) { if (vertexBuffers.get(2) == null) { vertexBuffers.put(2, new VertexBufferImpl("vNormal", 4, 2)); } vBuffer.clear(); vBuffer.put(normalBuffer.toArray()); vBuffer.flip(); vertexBuffers.get(2).flush(vBuffer); } if (useTextures) { if (vertexBuffers.get(3) == null) { vertexBuffers.put(3, new VertexBufferImpl("vTexCoord0", 2, 3)); } vBuffer = BufferUtils.createFloatBuffer(uvBuffer.size()); vBuffer.clear(); vBuffer.put(uvBuffer.toArray()); vBuffer.flip(); vertexBuffers.get(3).flush(vBuffer); } }
From source file:org.spout.engine.renderer.GL30BatchVertexRenderer.java
License:Open Source License
/** * Draws this batch//from w w w.j a v a 2 s. c o m */ @Override public void doRender(RenderMaterial material, int startVert, int endVert) { GL30.glBindVertexArray(vao); material.assign(); for (VertexBufferImpl vb : vertexBuffers.valueCollection()) { vb.bind(); GL20.glEnableVertexAttribArray(vb.getLayout()); GL20.glVertexAttribPointer(vb.getLayout(), vb.getElements(), GL11.GL_FLOAT, false, 0, 0); //activeMaterial.getShader().enableAttribute(vb.getName(), vb.getElements(), GL11.GL_FLOAT, 0, 0, vb.getLayout()); } GL11.glDrawArrays(renderMode, startVert, endVert); for (VertexBufferImpl vb : vertexBuffers.valueCollection()) { GL20.glDisableVertexAttribArray(vb.getLayout()); } }
From source file:org.spout.engine.renderer.GL40BatchVertexRenderer.java
License:Open Source License
@Override protected boolean doFlush(boolean force) { if (flushingBuffer.flush(force)) { GL30.glBindVertexArray(vao); SpoutRenderer.checkGLError();/*from ww w . j a v a 2 s.c om*/ if (currentBuffer != null) { currentBuffer.unbind(); for (int layout : currentBuffer.getLayout()) { GL20.glDisableVertexAttribArray(layout); SpoutRenderer.checkGLError(); } } flushingBuffer.bind(true); for (int layout : flushingBuffer.getLayout()) { GL20.glEnableVertexAttribArray(layout); SpoutRenderer.checkGLError(); } GL30.glBindVertexArray(0); SpoutRenderer.checkGLError(); return true; } return false; }
From source file:org.spout.engine.renderer.GL40BatchVertexRenderer.java
License:Open Source License
/** * Draws this batch/*from w w w .j ava 2 s .co m*/ */ @Override public void doDraw(RenderMaterial material, int elements, int instances) { GL30.glBindVertexArray(vao); SpoutRenderer.checkGLError(); material.assign(); GL31.glDrawArraysInstanced(renderMode, 0, elements, instances); SpoutRenderer.checkGLError(); }
From source file:org.spout.engine.renderer.GLBatchInstanceRenderer.java
License:Open Source License
/** * Draws this batch/*from w w w . ja va 2s . co m*/ */ @Override public void doDraw(RenderMaterial material, int elements, int instances) { GL30.glBindVertexArray(vao); SpoutRenderer.checkGLError(); material.assign(); //System.out.println("glDrawArrays"); // RenderModer, ? , Type of index of instance, ? , ? GL31.glDrawArraysInstanced(renderMode, 0, elements, instances); SpoutRenderer.checkGLError(); //GL30.glBindVertexArray(0); //Run without }