List of usage examples for org.lwjgl.opengl GL11 glPushMatrix
public static native void glPushMatrix();
From source file:appeng.client.render.BusRenderer.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { if (item == null) { return;//from ww w .jav a 2 s. co m } GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_LIGHTING); if (AEConfig.instance.isFeatureEnabled(AEFeature.AlphaPass) && item.getItem() instanceof IAlphaPassItem && ((IAlphaPassItem) item.getItem()).useAlphaPass(item)) { GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); } else { GL11.glAlphaFunc(GL11.GL_GREATER, 0.4f); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glDisable(GL11.GL_BLEND); } if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { GL11.glTranslatef(-0.2f, -0.1f, -0.3f); } if (type == ItemRenderType.ENTITY) { GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f); GL11.glScalef(0.8f, 0.8f, 0.8f); GL11.glTranslatef(-0.8f, -0.87f, -0.7f); } if (type == ItemRenderType.INVENTORY) { GL11.glTranslatef(0.0f, -0.1f, 0.0f); } GL11.glTranslated(0.2, 0.3, 0.1); GL11.glScaled(1.2, 1.2, 1.); GL11.glColor4f(1, 1, 1, 1); Tessellator.instance.setColorOpaque_F(1, 1, 1); Tessellator.instance.setBrightness(14 << 20 | 14 << 4); BusRenderHelper.INSTANCE.setBounds(0, 0, 0, 1, 1, 1); BusRenderHelper.INSTANCE.setTexture(null); BusRenderHelper.INSTANCE.setInvColor(0xffffff); this.getRenderer().blockAccess = ClientHelper.proxy.getWorld(); BusRenderHelper.INSTANCE.setOrientation(ForgeDirection.EAST, ForgeDirection.UP, ForgeDirection.SOUTH); this.getRenderer().uvRotateBottom = this.getRenderer().uvRotateEast = this .getRenderer().uvRotateNorth = this.getRenderer().uvRotateSouth = this .getRenderer().uvRotateTop = this.getRenderer().uvRotateWest = 0; this.getRenderer().useInventoryTint = false; this.getRenderer().overrideBlockTexture = null; if (item.getItem() instanceof IFacadeItem) { final IFacadeItem fi = (IFacadeItem) item.getItem(); final IFacadePart fp = fi.createPartFromItemStack(item, ForgeDirection.SOUTH); if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { GL11.glRotatef(160.0f, 0.0f, 1.0f, 0.0f); GL11.glTranslated(-0.4, 0.1, -1.6); } if (fp != null) { fp.renderInventory(BusRenderHelper.INSTANCE, this.getRenderer()); } } else { final IPart ip = this.getRenderer(item, (IPartItem) item.getItem()); if (ip != null) { if (type == ItemRenderType.ENTITY) { final int depth = ip.cableConnectionRenderTo(); GL11.glTranslatef(0.0f, 0.0f, -0.04f * (8 - depth) - 0.06f); } ip.renderInventory(BusRenderHelper.INSTANCE, this.getRenderer()); } } this.getRenderer().uvRotateBottom = this.getRenderer().uvRotateEast = this .getRenderer().uvRotateNorth = this.getRenderer().uvRotateSouth = this .getRenderer().uvRotateTop = this.getRenderer().uvRotateWest = 0; GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.ItemRenderer.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glEnable(GL11.GL_ALPHA_TEST);//from ww w .ja v a2 s. co m GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); if (type == ItemRenderType.ENTITY) { GL11.glTranslatef(-0.5f, -0.5f, -0.5f); } if (type == ItemRenderType.INVENTORY) { GL11.glTranslatef(0.0f, -0.1f, 0.0f); } WorldRender.INSTANCE.renderItemBlock(item, type, data); GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.items.PaintBallRender.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { IIcon par2Icon = item.getIconIndex(); if (item.getItemDamage() >= 20) { par2Icon = ExtraItemTextures.ItemPaintBallShimmer.getIcon(); }/*from ww w .ja v a 2 s.c om*/ final float f4 = par2Icon.getMinU(); final float f5 = par2Icon.getMaxU(); final float f6 = par2Icon.getMinV(); final float f7 = par2Icon.getMaxV(); final ItemPaintBall ipb = (ItemPaintBall) item.getItem(); final Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); final AEColor col = ipb.getColor(item); final int colorValue = item.getItemDamage() >= 20 ? col.mediumVariant : col.mediumVariant; final int r = (colorValue >> 16) & 0xff; final int g = (colorValue >> 8) & 0xff; final int b = (colorValue) & 0xff; if (item.getItemDamage() >= 20) { final float fail = 0.7f; final int full = (int) (255 * 0.3); GL11.glColor4ub((byte) (full + r * fail), (byte) (full + g * fail), (byte) (full + b * fail), (byte) 255); } else { GL11.glColor4ub((byte) r, (byte) g, (byte) b, (byte) 255); } if (type == ItemRenderType.INVENTORY) { GL11.glScalef(16F, 16F, 10F); GL11.glTranslatef(0.0F, 1.0F, 0.0F); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); GL11.glEnable(GL11.GL_ALPHA_TEST); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(1, 0, 0, f5, f7); tessellator.addVertexWithUV(1, 1, 0, f5, f6); tessellator.addVertexWithUV(0, 1, 0, f4, f6); tessellator.draw(); } else { if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { GL11.glTranslatef(0.0F, 0.0F, 0.0F); } else { GL11.glTranslatef(-0.5F, -0.3F, 0.01F); } final float f12 = 0.0625F; ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), f12); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glColor4f(1, 1, 1, 1.0F); GL11.glScalef(1F, 1.1F, 1F); GL11.glTranslatef(0.0F, 1.07F, f12 / -2.0f); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); } GL11.glColor4f(1, 1, 1, 1.0F); GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.items.ToolBiometricCardRender.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { final IIcon par2Icon = item.getIconIndex(); final float f4 = par2Icon.getMinU(); final float f5 = par2Icon.getMaxU(); final float f6 = par2Icon.getMinV(); final float f7 = par2Icon.getMaxV(); final Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); if (type == ItemRenderType.INVENTORY) { GL11.glColor4f(1, 1, 1, 1.0F);/*from ww w . j a va 2 s . c o m*/ GL11.glScalef(16F, 16F, 10F); GL11.glTranslatef(0.0F, 1.0F, 0.0F); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); GL11.glEnable(GL11.GL_ALPHA_TEST); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(1, 0, 0, f5, f7); tessellator.addVertexWithUV(1, 1, 0, f5, f6); tessellator.addVertexWithUV(0, 1, 0, f4, f6); tessellator.draw(); } else { GL11.glTranslatef(-0.5F, -0.3F, 0.01F); final float f12 = 0.0625F; ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), f12); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glColor4f(1, 1, 1, 1.0F); GL11.glScalef(1F, 1.1F, 1F); GL11.glTranslatef(0.0F, 1.07F, f12 / -2.0f); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); } final float u = ExtraItemTextures.White.getIcon().getInterpolatedU(8.1); final float v = ExtraItemTextures.White.getIcon().getInterpolatedV(8.1); String username = ""; if (item.getItem() instanceof IBiometricCard) { final GameProfile gp = ((IBiometricCard) item.getItem()).getProfile(item); if (gp != null) { username = gp.getName(); } } final int hash = username.length() > 0 ? username.hashCode() : 0; GL11.glScalef(1F / 16F, 1F / 16F, 1F); GL11.glTranslatef(4, 6, 0); GL11.glDisable(GL11.GL_LIGHTING); tessellator.startDrawingQuads(); AEColor col = AEColor.values()[Math.abs(3 + hash) % AEColor.values().length]; if (hash == 0) { col = AEColor.Black; } final float z = 0; for (int x = 0; x < 8; x++)// 8 { for (int y = 0; y < 6; y++)// 6 { boolean isLit = false; if (x == 0 || y == 0 || x == 7 || y == 5) { isLit = false; } else { isLit = (hash & (1 << x)) != 0 || (hash & (1 << y)) != 0; } if (isLit) { tessellator.setColorOpaque_I(col.mediumVariant); } else { final float scale = 0.3f / 255.0f; tessellator.setColorOpaque_F(((col.blackVariant >> 16) & 0xff) * scale, ((col.blackVariant >> 8) & 0xff) * scale, (col.blackVariant & 0xff) * scale); } tessellator.addVertexWithUV(x, y, z, u, v); tessellator.addVertexWithUV(x + 1, y, z, u, v); tessellator.addVertexWithUV(x + 1, y + 1, z, u, v); tessellator.addVertexWithUV(x, y + 1, z, u, v); } } tessellator.draw(); GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.items.ToolColorApplicatorRender.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { final IIcon par2Icon = item.getIconIndex(); float f4 = par2Icon.getMinU(); float f5 = par2Icon.getMaxU(); float f6 = par2Icon.getMinV(); float f7 = par2Icon.getMaxV(); final Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); if (type == ItemRenderType.INVENTORY) { GL11.glColor4f(1, 1, 1, 1.0F);/* w ww. j ava 2 s .co m*/ GL11.glScalef(16F, 16F, 10F); GL11.glTranslatef(0.0F, 1.0F, 0.0F); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); GL11.glEnable(GL11.GL_ALPHA_TEST); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(1, 0, 0, f5, f7); tessellator.addVertexWithUV(1, 1, 0, f5, f6); tessellator.addVertexWithUV(0, 1, 0, f4, f6); tessellator.draw(); } else { if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { GL11.glTranslatef(0.0F, 0.0F, 0.0F); } else if (type == ItemRenderType.EQUIPPED) { GL11.glTranslatef(0.0F, 0.0F, 0.0F); } else { GL11.glTranslatef(-0.5F, -0.3F, 0.01F); } final float f12 = 0.0625F; ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), f12); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glColor4f(1, 1, 1, 1.0F); GL11.glScalef(-1F, -1F, 1F); GL11.glTranslatef(-1.125F, 0.0f, f12 / -2.0f); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); } final IIcon dark = ExtraItemTextures.ToolColorApplicatorTip_Dark.getIcon(); final IIcon med = ExtraItemTextures.ToolColorApplicatorTip_Medium.getIcon(); final IIcon light = ExtraItemTextures.ToolColorApplicatorTip_Light.getIcon(); GL11.glScalef(1F / 16F, 1F / 16F, 1F); if (type != ItemRenderType.INVENTORY) { GL11.glTranslatef(2, 0, 0); } GL11.glDisable(GL11.GL_LIGHTING); final AEColor col = ((ToolColorApplicator) item.getItem()).getActiveColor(item); if (col != null) { tessellator.startDrawingQuads(); f4 = dark.getMinU(); f5 = dark.getMaxU(); f6 = dark.getMinV(); f7 = dark.getMaxV(); tessellator.setColorOpaque_I(col.blackVariant); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(16, 0, 0, f5, f7); tessellator.addVertexWithUV(16, 16, 0, f5, f6); tessellator.addVertexWithUV(0, 16, 0, f4, f6); f4 = light.getMinU(); f5 = light.getMaxU(); f6 = light.getMinV(); f7 = light.getMaxV(); tessellator.setColorOpaque_I(col.whiteVariant); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(16, 0, 0, f5, f7); tessellator.addVertexWithUV(16, 16, 0, f5, f6); tessellator.addVertexWithUV(0, 16, 0, f4, f6); f4 = med.getMinU(); f5 = med.getMaxU(); f6 = med.getMinV(); f7 = med.getMaxV(); tessellator.setColorOpaque_I(col.mediumVariant); tessellator.addVertexWithUV(0, 0, 0, f4, f7); tessellator.addVertexWithUV(16, 0, 0, f5, f7); tessellator.addVertexWithUV(16, 16, 0, f5, f6); tessellator.addVertexWithUV(0, 16, 0, f4, f6); tessellator.draw(); } GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.items.ToolWirelessTerminalRender.java
License:Open Source License
@Override public void renderItem(final ItemRenderType type, final ItemStack item, final Object... data) { Entity itemLocation = item.getItemFrame(); if (itemLocation == null) { itemLocation = Minecraft.getMinecraft().thePlayer; }// w ww .j a v a 2 s.c o m final boolean displayAntenna = ((ToolWirelessTerminal) item.getItem()).getIsUsable(item, itemLocation); final boolean hasPower = ((ToolWirelessTerminal) item.getItem()).hasPower(null, 0.5, item); IIcon border; if (displayAntenna) { border = ExtraItemTextures.WirelessTerminal_Border.getIcon(); } else { border = ExtraItemTextures.WirelessTerminal_Border_Inactive.getIcon(); } final IIcon scrollBar = ExtraItemTextures.WirelessTerminal_ScrollBar.getIcon(); final IIcon icons = ExtraItemTextures.WirelessTerminal_Icons.getIcon(); IIcon screen = ExtraItemTextures.WirelessTerminal_Screen.getIcon(); final AEColor color = ToolWirelessTerminal.getColor(item); if (color == null) { screen = item.getIconIndex(); } final Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); //translate stuff for different item render types if (type != ItemRenderType.INVENTORY) { if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { GL11.glTranslatef(0.0F, 0.0F, 0.0F); } else if (type == ItemRenderType.EQUIPPED) { GL11.glTranslatef(0.0F, 0.0F, 0.0F); } else { GL11.glTranslatef(-0.5F, -0.3F, 0.01F); } } else { GL11.glColor4f(1, 1, 1, 1.0F); GL11.glScalef(16F, 16F, 10F); GL11.glTranslatef(0.0F, 1.0F, 0.0F); GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); GL11.glEnable(GL11.GL_ALPHA_TEST); } final float f12 = 0.0625F; //Border, which is uncolored subRenderItem(type, tessellator, border, f12); if (hasPower) { RenderHelper.disableStandardItemLighting(); } //If a terminal isn't colored, use the default icon which doesn't require icons or scrollbar if (color != null) { //Icons, which are dark colored { final int blackColor = color.blackVariant; final float r = (blackColor >> 16) & 0xFF; final float g = (blackColor >> 8) & 0xFF; final float b = blackColor & 0xFF; GL11.glColor3f(r / 256.0f, g / 256.0f, b / 256.0f); subRenderItem(type, tessellator, icons, f12); } //Scrollbar, which is medium colored { final int medColor = color.mediumVariant; final float r = (medColor >> 16) & 0xFF; final float g = (medColor >> 8) & 0xFF; final float b = medColor & 0xFF; GL11.glColor3f(r / 256.0f, g / 256.0f, b / 256.0f); subRenderItem(type, tessellator, scrollBar, f12); } } //Screen, which is light colored { if (color != null) { final int whiteColor = color.whiteVariant; final float r = (whiteColor >> 16) & 0xFF; final float g = (whiteColor >> 8) & 0xFF; final float b = whiteColor & 0xFF; GL11.glColor3f(r / 256.0f, g / 256.0f, b / 256.0f); } subRenderItem(type, tessellator, screen, f12); } GL11.glPopAttrib(); GL11.glPopMatrix(); }
From source file:appeng.client.render.TESRWrapper.java
License:Open Source License
@Override public final void renderTileEntityAt(final TileEntity te, final double x, final double y, final double z, final float f) { if (te instanceof AEBaseTile) { final Block b = te.getBlockType(); if (b instanceof AEBaseBlock && ((AEBaseTile) te).requiresTESR()) { if (Math.abs(x) > this.maxDistance || Math.abs(y) > this.maxDistance || Math.abs(z) > this.maxDistance) { return; }/* w ww .jav a2 s . c o m*/ final Tessellator tess = Tessellator.instance; try { GL11.glPushMatrix(); this.renderBlocksInstance.blockAccess = te.getWorldObj(); this.blkRender.renderTile((AEBaseBlock) b, (AEBaseTile) te, tess, x, y, z, f, this.renderBlocksInstance); GL11.glPopMatrix(); } catch (final Throwable t) { AELog.severe("Hi, Looks like there was a crash while rendering something..."); t.printStackTrace(); AELog.severe("MC will now crash ( probably )!"); throw new IllegalStateException(t); } } } }
From source file:appeng.entity.RenderFloatingItem.java
License:Open Source License
@Override public void doRender(final EntityItem entityItem, final double x, final double y, final double z, final float yaw, final float partialTick) { if (entityItem instanceof EntityFloatingItem) { final EntityFloatingItem efi = (EntityFloatingItem) entityItem; if (efi.getProgress() > 0.0) { GL11.glPushMatrix(); if (!(efi.getEntityItem().getItem() instanceof ItemBlock)) { GL11.glTranslatef(0, -0.15f, 0); }/*from w ww .ja va2s . c o m*/ super.doRender(efi, x, y, z, yaw, partialTick); GL11.glPopMatrix(); } } }
From source file:appeng.entity.RenderTinyTNTPrimed.java
License:Open Source License
private void renderPrimedTNT(final EntityTinyTNTPrimed tnt, final double x, final double y, final double z, final float life) { GL11.glPushMatrix(); GL11.glTranslatef((float) x, (float) y - 0.25f, (float) z); float f2;/*from w w w . ja va 2 s.c om*/ if (tnt.fuse - life + 1.0F < 10.0F) { f2 = 1.0F - (tnt.fuse - life + 1.0F) / 10.0F; if (f2 < 0.0F) { f2 = 0.0F; } if (f2 > 1.0F) { f2 = 1.0F; } f2 *= f2; f2 *= f2; final float f3 = 1.0F + f2 * 0.3F; GL11.glScalef(f3, f3, f3); } GL11.glScalef(0.5f, 0.5f, 0.5f); f2 = (1.0F - (tnt.fuse - life + 1.0F) / 100.0F) * 0.8F; this.bindEntityTexture(tnt); this.blockRenderer.renderBlockAsItem(Blocks.tnt, 0, tnt.getBrightness(life)); if (tnt.fuse / 5 % 2 == 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); GL11.glColor4f(1.0F, 1.0F, 1.0F, f2); this.blockRenderer.renderBlockAsItem(Blocks.tnt, 0, 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_TEXTURE_2D); } GL11.glPopMatrix(); }
From source file:appeng.parts.reporting.AbstractPartMonitor.java
License:Open Source License
@Override @SideOnly(Side.CLIENT)/*w w w . ja v a 2 s . c o m*/ public void renderDynamic(final double x, final double y, final double z, final IPartRenderHelper rh, final RenderBlocks renderer) { if (this.dspList == null) { this.dspList = GLAllocation.generateDisplayLists(1); } final Tessellator tess = Tessellator.instance; if ((this.getClientFlags() & (PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG)) != (PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG)) { return; } final IAEItemStack ais = (IAEItemStack) this.getDisplayed(); if (ais != null) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); if (this.updateList) { this.updateList = false; GL11.glNewList(this.dspList, GL11.GL_COMPILE_AND_EXECUTE); this.tesrRenderScreen(tess, ais); GL11.glEndList(); } else { GL11.glCallList(this.dspList); } GL11.glPopMatrix(); } }