Example usage for org.lwjgl.opengl GL11 glPushMatrix

List of usage examples for org.lwjgl.opengl GL11 glPushMatrix

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL11 glPushMatrix.

Prototype

public static native void glPushMatrix();

Source Link

Document

Pushes the current matrix stack down by one, duplicating the current matrix in both the top of the stack and the entry below it.

Usage

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();
    }
}