public static void drawTexturedModalRect(int par1, int par2, float z, int par3, int par4, int par5, int par6, float f, float f1) { Tessellator tessellator = Tessellator.getInstance(); tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); tessellator.getBuffer().pos(par1, par2 + par6, z).tex(par3 * f, (par4 + par6) * f1).endVertex(); tessellator.getBuffer().pos(par1 + par5, par2 + par6, z).tex((par3 + par5) * f, (par4 + par6) * f1).endVertex(); tessellator.getBuffer().pos(par1 + par5, par2, z).tex((par3 + par5) * f, par4 * f1).endVertex(); tessellator.getBuffer().pos(par1, par2, z).tex(par3 * f, par4 * f1).endVertex(); tessellator.draw(); }
private void draw( float red, float green, float blue, final BufferBuilder tess, final double[] a, final double[] b, final double f6, final double f8 ) { if( this.hasData ) { tess.pos( a[0], a[1], a[2] ).tex( f6, f8 ).color( red, green, blue, this.particleAlpha ).lightmap( BRIGHTNESS, BRIGHTNESS ).endVertex(); tess.pos( this.vertices[0], this.vertices[1], this.vertices[2] ) .tex( f6, f8 ) .color( red, green, blue, this.particleAlpha ) .lightmap( BRIGHTNESS, BRIGHTNESS ) .endVertex(); tess.pos( this.verticesWithUV[0], this.verticesWithUV[1], this.verticesWithUV[2] ) .tex( f6, f8 ) .color( red, green, blue, this.particleAlpha ) .lightmap( BRIGHTNESS, BRIGHTNESS ) .endVertex(); tess.pos( b[0], b[1], b[2] ).tex( f6, f8 ).color( red, green, blue, this.particleAlpha ).lightmap( BRIGHTNESS, BRIGHTNESS ).endVertex(); } this.hasData = true; for( int x = 0; x < 3; x++ ) { this.vertices[x] = a[x]; this.verticesWithUV[x] = b[x]; } }
tessellator.getBuffer().begin(GL11.GL_LINES, DefaultVertexFormats.POSITION); tessellator.getBuffer().pos(ix, iy, iz).endVertex(); tessellator.getBuffer().pos(ix, ay, iz).endVertex(); tessellator.getBuffer().pos(ix, ay, iz).endVertex(); tessellator.getBuffer().pos(ax, ay, iz).endVertex(); tessellator.getBuffer().pos(ax, ay, iz).endVertex(); tessellator.getBuffer().pos(ax, iy, iz).endVertex(); tessellator.getBuffer().pos(ax, iy, iz).endVertex(); tessellator.getBuffer().pos(ix, iy, iz).endVertex(); tessellator.getBuffer().pos(ix, iy, az).endVertex(); tessellator.getBuffer().pos(ix, ay, az).endVertex(); tessellator.getBuffer().pos(ix, iy, az).endVertex(); tessellator.getBuffer().pos(ax, iy, az).endVertex(); tessellator.getBuffer().pos(ax, iy, az).endVertex(); tessellator.getBuffer().pos(ax, ay, az).endVertex(); tessellator.getBuffer().pos(ix, ay, az).endVertex(); tessellator.getBuffer().pos(ax, ay, az).endVertex(); tessellator.getBuffer().pos(ix, iy, iz).endVertex(); tessellator.getBuffer().pos(ix, iy, az).endVertex(); tessellator.getBuffer().pos(ix, ay, iz).endVertex();
private static void addVertexAtWithTranslation(Tessellator tess, EnumFacing dir, double xpos, double ypos, double zpos, double rand, double l) { double freq = 20; double ampl = (0.15 * (Math.sin(l * 2F) * 0.5 + 0.5) + 0.1) * sizeAlpha; double randMul = 0.05; double x = xpos + Math.sin(l * freq) * ampl * Math.abs(Math.abs(dir.getXOffset()) - 1) + rand * randMul; double y = ypos + Math.cos(l * freq) * ampl * Math.abs(Math.abs(dir.getYOffset()) - 1) + rand * randMul; double z = zpos + (dir.getYOffset() == 0 ? Math.sin(l * freq) : Math.cos(l * freq)) * ampl * Math.abs(Math.abs(dir.getZOffset()) - 1) + rand * randMul; tess.getBuffer().pos(x, y, z).endVertex(); }
protected void drawRight(BufferBuilder renderer, int x, int y, double width, double height, Vector4i color) { renderer.pos(x - width, y + 0, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x - width, y + height, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x, y + height, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x, y + 0, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); }
worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); exState = exState.withProperty(Properties.AnimationProperty, pair.getLeft()); worldRenderer.setTranslation(x - pos.getX(), y - pos.getY(), z - pos.getZ()); worldRenderer.setTranslation(0, 0, 0);
private void renderTabPart(@Nonnull BufferBuilder tes, int x, int y, int u, int v, int w, int h) { double minU = (double) u / IconEIO.map.getSize(); double maxU = (double) (u + w) / IconEIO.map.getSize(); double minV = (double) v / IconEIO.map.getSize(); double maxV = (double) (v + h) / IconEIO.map.getSize(); tes.pos(x, y + h, 0).tex(minU, maxV).endVertex(); tes.pos(x + w, y + h, 0).tex(maxU, maxV).endVertex(); tes.pos(x + w, y + 0, 0).tex(maxU, minV).endVertex(); tes.pos(x, y + 0, 0).tex(minU, minV).endVertex(); }
public static void dispatchQueuedRenders(Tessellator tessellator) { ParticleRenderDispatcher.wispFxCount = 0; ParticleRenderDispatcher.depthIgnoringWispFxCount = 0; GlStateManager.color(1.0F, 1.0F, 1.0F, 0.75F); Minecraft.getMinecraft().renderEngine.bindTexture(ConfigHandler.matrixMode ? vanillaParticles : particles); if(!queuedRenders.isEmpty()) { tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_LMAP_COLOR); for(FXWisp wisp : queuedRenders) wisp.renderQueued(tessellator, true); tessellator.draw(); } if(!queuedDepthIgnoringRenders.isEmpty()) { GlStateManager.disableDepth(); tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_LMAP_COLOR); for(FXWisp wisp : queuedDepthIgnoringRenders) wisp.renderQueued(tessellator, false); tessellator.draw(); GlStateManager.enableDepth(); } queuedRenders.clear(); queuedDepthIgnoringRenders.clear(); }
private void startTessellating(double x, double y, double z) { Tessellator.getInstance().getBuffer().begin(7, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL); Tessellator.getInstance().getBuffer().setTranslation(x, y, z); Tessellator.getInstance().getBuffer().noColor(); }
.withProperty( AEBaseTileBlock.UP, forward ); buffer.setTranslation( x - pos.getX(), y - pos.getY(), z - pos.getZ() );
protected void drawPlain(BufferBuilder renderer, int x, int y, double width, double height, Vector4i color) { renderer.pos(x + 0, y + 0, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x + 0, y + height, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x + width, y + height, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); renderer.pos(x + width, y + 0, 0.0D).color(color.x, color.y, color.z, color.w).endVertex(); }
buffer.begin( GL11.GL_QUADS, DefaultVertexFormats.BLOCK ); buffer.setTranslation( -te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ() ); dispatcher.getBlockModelRenderer().renderModel( te.getWorld(), model, blockState, te.getPos(), buffer, false ); buffer.setTranslation( 0, 0, 0 );
public static void dispatchQueuedRenders(Tessellator tessellator) { ParticleRenderDispatcher.sparkleFxCount = 0; ParticleRenderDispatcher.fakeSparkleFxCount = 0; GlStateManager.color(1.0F, 1.0F, 1.0F, 0.75F); Minecraft.getMinecraft().renderEngine.bindTexture(ConfigHandler.matrixMode ? vanillaParticles : particles); tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); for(FXSparkle sparkle : queuedRenders) sparkle.renderQueued(tessellator); tessellator.draw(); ShaderHelper.useShader(ShaderHelper.filmGrain); tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); for(FXSparkle sparkle : queuedCorruptRenders) sparkle.renderQueued(tessellator); tessellator.draw(); ShaderHelper.releaseShader(); queuedRenders.clear(); queuedCorruptRenders.clear(); }
private void buildFaces(BufferBuilder builder, List<EnumFacing> faces, IBlockState state, Biome biome, BlockPos pos, int x, int z) { int color = this.getBlockColor(state, biome, pos); int red = (color >> 16) & 0xFF; int green = (color >> 8) & 0xFF; int blue = color & 0xFF; builder.setTranslation(x, pos.getY(), z); for (EnumFacing face : faces) { this.buildFace(builder, face, red, green, blue); } }
private void renderQueued(Tessellator tessellator, boolean depthEnabled) { if(depthEnabled) ParticleRenderDispatcher.wispFxCount++; else ParticleRenderDispatcher.depthIgnoringWispFxCount++; float agescale = (float)particleAge / (float) moteHalfLife; if (agescale > 1F) agescale = 2 - agescale; particleScale = moteParticleScale * agescale; float f10 = 0.5F * particleScale; float f11 = (float)(prevPosX + (posX - prevPosX) * f - interpPosX); float f12 = (float)(prevPosY + (posY - prevPosY) * f - interpPosY); float f13 = (float)(prevPosZ + (posZ - prevPosZ) * f - interpPosZ); int combined = 15 << 20 | 15 << 4; int k3 = combined >> 16 & 0xFFFF; int l3 = combined & 0xFFFF; tessellator.getBuffer().pos(f11 - f1 * f10 - f4 * f10, f12 - f2 * f10, f13 - f3 * f10 - f5 * f10).tex(0, 1).lightmap(k3, l3).color(particleRed, particleGreen, particleBlue, 0.5F).endVertex(); tessellator.getBuffer().pos(f11 - f1 * f10 + f4 * f10, f12 + f2 * f10, f13 - f3 * f10 + f5 * f10).tex(1, 1).lightmap(k3, l3).color(particleRed, particleGreen, particleBlue, 0.5F).endVertex(); tessellator.getBuffer().pos(f11 + f1 * f10 + f4 * f10, f12 + f2 * f10, f13 + f3 * f10 + f5 * f10).tex(1, 0).lightmap(k3, l3).color(particleRed, particleGreen, particleBlue, 0.5F).endVertex(); tessellator.getBuffer().pos(f11 + f1 * f10 - f4 * f10, f12 - f2 * f10, f13 + f3 * f10 - f5 * f10).tex(0, 0).lightmap(k3, l3).color(particleRed, particleGreen, particleBlue, 0.5F).endVertex(); }
GlStateManager.enableColorLogic(); GlStateManager.colorLogicOp( GlStateManager.LogicOp.OR_REVERSE ); bufferbuilder.begin( 7, DefaultVertexFormats.POSITION ); bufferbuilder.pos( startX, endY, 0.0D ).endVertex(); bufferbuilder.pos( endX, endY, 0.0D ).endVertex(); bufferbuilder.pos( endX, startY, 0.0D ).endVertex(); bufferbuilder.pos( startX, startY, 0.0D ).endVertex(); tessellator.draw(); GlStateManager.disableColorLogic();
@Override protected void drawGrad(BufferBuilder renderer, int x, int y, double width, double height, Vector4i colorL, Vector4i colorR) { renderer.pos(x + 0, y + 0, 0.0D).color(colorL.x, colorL.y, colorL.z, colorL.w).endVertex(); renderer.pos(x + 0, y + height, 0.0D).color(colorR.x, colorR.y, colorR.z, colorR.w).endVertex(); renderer.pos(x + width, y + height, 0.0D).color(colorR.x, colorR.y, colorR.z, colorR.w).endVertex(); renderer.pos(x + width, y + 0, 0.0D).color(colorR.x, colorR.y, colorR.z, colorR.w).endVertex(); }
@Override public void preRenderBlocks(final BufferBuilder buffer, final BlockPos pos) { buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); buffer.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); }
private void renderModel(IBakedModel model, ItemStack stack, int color) { Tessellator tessellator = Tessellator.getInstance(); BufferBuilder worldrenderer = tessellator.getBuffer(); worldrenderer.begin(7, DefaultVertexFormats.ITEM); for (EnumFacing enumfacing : EnumFacing.values()) { renderQuads(worldrenderer, model.getQuads(null, enumfacing, 0), color, stack); } renderQuads(worldrenderer, model.getQuads(null, null, 0), color, stack); tessellator.draw(); }