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(); }
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(); }
protected void addVecWithUV(@Nullable Vector3d vec, double u, double v, @Nonnull Vector4f color) { if (vec != null) { BufferBuilder tes = Tessellator.getInstance().getBuffer(); tes.pos(vec.x, vec.y, vec.z).tex(u, v).color(color.x, color.y, color.z, color.w).endVertex(); } }
private void renderIcon(TextureAtlasSprite icon) { float f = icon.getMinU(); float f1 = icon.getMaxU(); float f2 = icon.getMinV(); float f3 = icon.getMaxV(); IconHelper.renderIconIn3D(Tessellator.getInstance(), f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F / 16F); }
private void draw(BufferBuilder renderer, int x, int y, int width, int height, int red, int green, int blue, int alpha) { renderer.begin(7, DefaultVertexFormats.POSITION_COLOR); renderer.pos((double) (x), (double) (y), 0.0D).color(red, green, blue, alpha).endVertex(); renderer.pos((double) (x), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); renderer.pos((double) (x + width), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); renderer.pos((double) (x + width), (double) (y), 0.0D).color(red, green, blue, alpha).endVertex(); Tessellator.getInstance().draw(); } }
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(); }
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(); }
@Override public void execute() { Tessellator.getInstance().getBuffer().pos(x, y, z).tex(u, v).color(color.x, color.y, color.z, color.w).endVertex(); } }
GlStateManager.scale(scale, scale, scale); bindEntityTexture(tEntity); Tessellator tessellator = Tessellator.getInstance();
private void renderQueued(Tessellator tessellator) { if(fake) ParticleRenderDispatcher.fakeSparkleFxCount++; else ParticleRenderDispatcher.sparkleFxCount++; int part = particle + particleAge/multiplier; float var8 = part % 8 / 8.0F; float var9 = var8 + 0.0624375F*2; float var10 = part / 8 / 8.0F; float var11 = var10 + 0.0624375F*2; float var12 = 0.1F * particleScale; if (shrink) var12 *= (particleMaxAge-particleAge+1)/(float)particleMaxAge; float var13 = (float)(prevPosX + (posX - prevPosX) * f - interpPosX); float var14 = (float)(prevPosY + (posY - prevPosY) * f - interpPosY); float var15 = (float)(prevPosZ + (posZ - prevPosZ) * f - interpPosZ); float var16 = 1.0F; tessellator.getBuffer().pos(var13 - f1 * var12 - f4 * var12, var14 - f2 * var12, var15 - f3 * var12 - f5 * var12).tex(var9, var11).color(particleRed * var16, particleGreen * var16, particleBlue * var16, 1).endVertex(); tessellator.getBuffer().pos(var13 - f1 * var12 + f4 * var12, var14 + f2 * var12, var15 - f3 * var12 + f5 * var12).tex(var9, var10).color(particleRed * var16, particleGreen * var16, particleBlue * var16, 1).endVertex(); tessellator.getBuffer().pos(var13 + f1 * var12 + f4 * var12, var14 + f2 * var12, var15 + f3 * var12 + f5 * var12).tex(var8, var10).color(particleRed * var16, particleGreen * var16, particleBlue * var16, 1).endVertex(); tessellator.getBuffer().pos(var13 + f1 * var12 - f4 * var12, var14 - f2 * var12, var15 + f3 * var12 - f5 * var12).tex(var8, var11).color(particleRed * var16, particleGreen * var16, particleBlue * var16, 1).endVertex(); }
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(); }
private void renderIcon(Tessellator tess, TextureAtlasSprite icon) { float f = icon.getMinU(); float f1 = icon.getMaxU(); float f2 = icon.getMinV(); float f3 = icon.getMaxV(); float f4 = 1.0F; float f5 = 0.5F; float f6 = 0.25F; tess.getBuffer().begin(GL11.GL_QUADS, ClientProxy.POSITION_TEX_LMAP_NORMAL); tess.getBuffer().pos(0.0F - f5, 0.0F - f6, 0.0D).tex(f, f3).lightmap(240, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); tess.getBuffer().pos(f4 - f5, 0.0F - f6, 0.0D).tex(f1, f3).lightmap(240, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); tess.getBuffer().pos(f4 - f5, f4 - f6, 0.0D).tex(f1, f2).lightmap(240, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); tess.getBuffer().pos(0.0F - f5, f4 - f6, 0.0D).tex(f, f2).lightmap(240, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); tess.draw(); }
private void compileDisplayList(float scale) { this.displayList = GLAllocation.generateDisplayLists(1); GlStateManager.glNewList(this.displayList, 4864); VertexBuffer buffer = Tessellator.getInstance().getBuffer(); for (ModelBox box : this.cubeList) { box.render(buffer, scale); } GlStateManager.glEndList(); this.compiled = true; }
@Override @SideOnly(Side.CLIENT) public void onPlayerBaubleRender(ItemStack stack, EntityPlayer player, RenderType type, float partialTicks) { if(type == RenderType.BODY) { Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Helper.rotateIfSneaking(player); boolean armor = !player.getItemStackFromSlot(EntityEquipmentSlot.CHEST).isEmpty(); GlStateManager.rotate(180F, 1F, 0F, 0F); GlStateManager.translate(-0.26F, -0.4F, armor ? 0.2F : 0.15F); GlStateManager.scale(0.5F, 0.5F, 0.5F); for(TextureAtlasSprite icon : new TextureAtlasSprite[] { MiscellaneousIcons.INSTANCE.bloodPendantChain, MiscellaneousIcons.INSTANCE.bloodPendantGem }) { float f = icon.getMinU(); float f1 = icon.getMaxU(); float f2 = icon.getMinV(); float f3 = icon.getMaxV(); IconHelper.renderIconIn3D(Tessellator.getInstance(), f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F / 32F); Color color = new Color(Minecraft.getMinecraft().getItemColors().colorMultiplier(stack, 1)); GL11.glColor3ub((byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue()); int light = 15728880; int lightmapX = light % 65536; int lightmapY = light / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lightmapX, lightmapY); } GL11.glColor3ub((byte) 255, (byte) 255, (byte) 255); } }
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(); }
private void renderTwinkles() final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder VertexBuffer = tessellator.getBuffer(); VertexBuffer.begin( GL11.GL_QUADS, DefaultVertexFormats.POSITION ); tessellator.draw();
private void renderIcon(Tessellator tess, TextureAtlasSprite icon) { float f = icon.getMinU(); float f1 = icon.getMaxU(); float f2 = icon.getMinV(); float f3 = icon.getMaxV(); float size = f1 - f; float pad = size / 8F; f += pad; f1 -= pad; f2 += pad; f3 -= pad; float f4 = 1.0F; float f5 = 0.5F; float f6 = 0.25F; tess.getBuffer().begin(GL11.GL_QUADS, ClientProxy.POSITION_TEX_LMAP_NORMAL); tess.getBuffer().pos(0.0F - f5, 0.0F - f6, 0.0D).tex(f, f3).lightmap(240, 240).normal(0, 1, 0).endVertex(); tess.getBuffer().pos(f4 - f5, 0.0F - f6, 0.0D).tex(f1, f3).lightmap(240, 240).normal(0, 1, 0).endVertex(); tess.getBuffer().pos(f4 - f5, f4 - f6, 0.0D).tex(f1, f2).lightmap(240, 240).normal(0, 1, 0).endVertex(); tess.getBuffer().pos(0.0F - f5, f4 - f6, 0.0D).tex(f, f2).lightmap(240, 240).normal(0, 1, 0).endVertex(); tess.draw(); }
@Override public void apply(@Nonnull BlockPos pos) { IBlockState bs = world.getBlockState(pos); Block block = bs.getBlock(); bs = bs.getActualState(world, pos); if (block.canRenderInLayer(bs, layer)) { renderBlock(bs, pos, world, Tessellator.getInstance().getBuffer()); } } });
Tessellator tessellator = Tessellator.getInstance();
private static void renderBlockOutline(AxisAlignedBB aabb) { Tessellator tessellator = Tessellator.getInstance(); 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();