private void drawVboOrList(net.minecraft.client.renderer.vertex.VertexBuffer vbo, int displayList) { if (OpenGlHelper.useVbo()) { vbo.bindBuffer(); GlStateManager.glEnableClientState(GL11.GL_VERTEX_ARRAY); GlStateManager.glVertexPointer(3, GL11.GL_FLOAT, 12, 0); vbo.drawArrays(GL11.GL_QUADS); vbo.unbindBuffer(); GlStateManager.glDisableClientState(GL11.GL_VERTEX_ARRAY); } else { GlStateManager.callList(displayList); } }
@Override public void run() { vertBuffer.deleteGlBuffers(); }
@Override public void renderOverlay() { if (this.initialized) { preRenderOverlay(); for (final RenderOverlay renderOverlay : this.renderOverlays) { final VertexBuffer vertexBuffer = renderOverlay.getVertexBufferByLayer(BlockRenderLayer.TRANSLUCENT.ordinal()); GlStateManager.pushMatrix(); preRenderChunk(renderOverlay); renderOverlay.multModelviewMatrix(); vertexBuffer.bindBuffer(); setupArrayPointersOverlay(); vertexBuffer.drawArrays(GL11.GL_QUADS); GlStateManager.popMatrix(); } OpenGlHelper.glBindBuffer(OpenGlHelper.GL_ARRAY_BUFFER, 0); GlStateManager.resetColor(); this.renderOverlays.clear(); postRenderOverlay(); } }
@Override public GfxRenderState prepare( final Tessellator t ) { if ( t.getBuffer().getVertexCount() == 0 ) { destroy(); return new VoidRenderState().prepare( t ); } destroy(); if ( vertexbuffer == null ) { vertexbuffer = new VertexBuffer( t.getBuffer().getVertexFormat() ); } t.getBuffer().finishDrawing(); vertexbuffer.bufferData( t.getBuffer().getByteBuffer() ); refreshNum = gfxRefresh; return this; }
public RenderOverlay(final World world, final RenderGlobal renderGlobal, final int index) { super(world, renderGlobal, index); this.vertexBuffer = OpenGlHelper.useVbo() ? new VertexBuffer(DefaultVertexFormats.POSITION_COLOR) : null; }
@Override public void renderChunkLayer(final BlockRenderLayer layer) { preRenderChunk(); if (this.initialized) { for (final RenderChunk renderChunk : this.renderChunks) { final VertexBuffer vertexbuffer = renderChunk.getVertexBufferByLayer(layer.ordinal()); GlStateManager.pushMatrix(); preRenderChunk(renderChunk); renderChunk.multModelviewMatrix(); vertexbuffer.bindBuffer(); setupArrayPointers(); vertexbuffer.drawArrays(GL11.GL_QUADS); GlStateManager.popMatrix(); } OpenGlHelper.glBindBuffer(OpenGlHelper.GL_ARRAY_BUFFER, 0); GlStateManager.resetColor(); this.renderChunks.clear(); } postRenderChunk(); }
public VboRenderer(Tessellator tes) { final BufferBuilder buffer = tes.getBuffer(); final VertexFormat vf = buffer.getVertexFormat(); this.vb = new VertexBuffer(vf); this.drawMode = buffer.getDrawMode(); vb.bufferData(buffer.getByteBuffer());
@Override public void render() { vb.bindBuffer(); setup.run(); vb.drawArrays(drawMode); cleanup.run(); vb.unbindBuffer(); }
GlStateManager.glEnableClientState( 32886 ); vertexbuffer.bindBuffer(); setupArrayPointers(); vertexbuffer.drawArrays( GL11.GL_QUADS ); OpenGlHelper.glBindBuffer( OpenGlHelper.GL_ARRAY_BUFFER, 0 ); GlStateManager.resetColor();
@Override public void destroy() { if ( vertexbuffer != null ) { vertexbuffer.deleteGlBuffers(); vertexbuffer = null; } }
skyVBO.bindBuffer(); GlStateManager.glEnableClientState(32884); GlStateManager.glVertexPointer(3, 5126, 12, 0); skyVBO.drawArrays(7); skyVBO.unbindBuffer(); GlStateManager.glDisableClientState(32884);
@Override public void dispose() { vb.deleteGlBuffers(); }
@Override public void deleteGlResources() { super.deleteGlResources(); if (this.vertexBuffer != null) { this.vertexBuffer.deleteGlBuffers(); } } }