Example usage for org.lwjgl.opengl GL11 glPopMatrix

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

Introduction

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

Prototype

public static native void glPopMatrix();

Source Link

Document

Pops the top entry off the current matrix stack, replacing the current matrix with the matrix that was the second entry in the stack.

Usage

From source file:com.bluepowermod.client.render.RenderEngine.java

License:Open Source License

@SuppressWarnings("cast")
@Override//from   w w w .  j av a 2  s  .c  o  m
public void renderTileEntityAt(TileEntity engine, double x, double y, double z, float f) {

    if (engine instanceof TileEngine) {

        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_LIGHTING);
        TileEngine tile = (TileEngine) engine.getWorldObj().getTileEntity(engine.xCoord, engine.yCoord,
                engine.zCoord);

        ForgeDirection direction = tile.getOrientation();

        GL11.glTranslated(x, y, z);
        GL11.glScaled(.0315, .0315, .0315);

        if (direction == ForgeDirection.UP) {
            GL11.glTranslated(16, 28, 16);
            GL11.glRotatef(180, 1, 0, 0);
        }
        if (direction == ForgeDirection.DOWN) {
            GL11.glTranslated(16, 4, 16);
            GL11.glRotatef(0, 0, 0, 0);
        }
        if (direction == ForgeDirection.EAST) {
            GL11.glTranslated(28, 16, 16);
            GL11.glRotatef(90, 0, 0, 1);
        }
        if (direction == ForgeDirection.WEST) {
            GL11.glTranslated(4, 16, 16);
            GL11.glRotatef(90, 0, 0, -1);
        }
        if (direction == ForgeDirection.NORTH) {
            GL11.glTranslated(16, 16, 4);
            GL11.glRotatef(90, 1, 0, 0);
        }
        if (direction == ForgeDirection.SOUTH) {
            GL11.glTranslated(16, 16, 28);
            GL11.glRotatef(90, -1, 0, 0);
        }
        if (tile.isActive) {
            bindTexture(textureLocationOn);
        } else {
            bindTexture(textureLocationOff);
        }
        engineModel.renderAllExcept("gear", "glider");

        if (tile.isActive) {
            f += tile.pumpTick;
            if (tile.pumpSpeed > 0) {
                f /= tile.pumpSpeed;
            }
        } else {
            f = 0;
        }
        f = (float) ((float) 6 * (.5 - .5 * Math.cos(3.1415926535897931D * (double) f)));
        GL11.glTranslatef(0, f, 0);

        engineModel.renderPart("glider");

        GL11.glTranslatef(0, -f, 0);

        if (tile.isActive) {
            if (tile.getWorldObj().isRemote) {
                rotateAmount++;

                GL11.glRotated(tile.gearTick * 19, 0, 1.5707963267948966D * (double) f, 0);
            }
        }
        engineModel.renderPart("gear");

        GL11.glEnable(GL11.GL_LIGHTING);

        GL11.glPopMatrix();
    }
}

From source file:com.bluepowermod.client.render.RenderHelper.java

License:Open Source License

public static void renderRedstoneTorch(double x, double y, double z, double height, boolean state,
        boolean digital) {

    GL11.glPushMatrix();/*w w w .  j a  v a 2  s .  c  om*/
    {
        Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);

        if (digital) {
            rb.overrideBlockTexture = state ? IconSupplier.bluestoneTorchOn : IconSupplier.bluestoneTorchOff;
        } else {
            rb.overrideBlockTexture = state ? Blocks.redstone_torch.getIcon(0, 0)
                    : Blocks.unlit_redstone_torch.getIcon(0, 0);
        }

        GL11.glEnable(GL11.GL_CLIP_PLANE0);
        GL11.glClipPlane(GL11.GL_CLIP_PLANE0,
                uk.co.qmunity.lib.client.render.RenderUtils.planeEquation(0, 1, 0));

        GL11.glTranslated(x, y + height - 1, z);

        Tessellator t = Tessellator.instance;

        t.setColorOpaque_F(1.0F, 1.0F, 1.0F);
        t.startDrawingQuads();
        {
            rb.setRenderBounds(7 / 16D, 0, 0, 9 / 16D, 1, 1);
            t.setNormal(-1, 1, 0);
            rb.renderFaceXNeg(Blocks.stone, 0, 0, 0, null);
            t.setNormal(1, 1, 0);
            rb.renderFaceXPos(Blocks.stone, 0, 0, 0, null);

            rb.setRenderBounds(0, 0, 7 / 16D, 1, 1, 9 / 16D);
            t.setNormal(0, 1, -1);
            rb.renderFaceZNeg(Blocks.stone, 0, 0, 0, null);
            t.setNormal(0, 1, 1);
            rb.renderFaceZPos(Blocks.stone, 0, 0, 0, null);

            rb.setRenderBounds(7 / 16D, 0, 6 / 16D, 9 / 16D, 10 / 16D, 8 / 16D);
            t.setNormal(0, 1, 0);
            rb.renderFaceYPos(Blocks.stone, 0, 0, 1 / 16D, null);
        }
        t.draw();

        GL11.glDisable(GL11.GL_CLIP_PLANE0);

        rb.overrideBlockTexture = null;
    }
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.client.render.RenderHelper.java

License:Open Source License

public static void renderButton(double x, double y, double z, String res, String resSide) {

    GL11.glPushMatrix();/*from   w  w w. jav  a  2s  .  co  m*/
    {
        GL11.glTranslated(x, y, z);

        GL11.glPushMatrix();
        {
            GL11.glTranslated(6 / 16D, 2 / 16D, 8 / 16D);
            Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(resSide));
            for (int i = 0; i < 4; i++) {
                GL11.glTranslated(2 / 16D, 0, 2 / 16D);
                GL11.glRotated(90, 0, 1, 0);
                GL11.glTranslated(-2 / 16D, 0, -2 / 16D);
                GL11.glBegin(GL11.GL_QUADS);
                {
                    GL11.glNormal3d(1, 0, 0);
                    addVertexWithTexture(0, 0, 0, 0, 0);
                    addVertexWithTexture(0, 1 / 16D, 0, 0, 1);
                    addVertexWithTexture(4 / 16D, 1 / 16D, 0, 1, 1);
                    addVertexWithTexture(4 / 16D, 0, 0, 1, 0);
                }
                GL11.glEnd();
            }
        }
        GL11.glPopMatrix();

        GL11.glTranslated(0, 1 / 16D, 0 / 16D);

        Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(res));
        Tessellator t = Tessellator.instance;

        y = 2 / 16D;

        t.startDrawingQuads();
        t.setNormal(0, 1, 0);
        {
            t.addVertexWithUV(0, y, 0, 1, 1);
            t.addVertexWithUV(0, y, 1, 1, 0);
            t.addVertexWithUV(1, y, 1, 0, 0);
            t.addVertexWithUV(1, y, 0, 0, 1);
        }
        t.draw();
    }
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.client.render.RenderHelper.java

License:Open Source License

/**
 * @author amadornes// w w w.ja va  2s.c  om
 * @param x
 * @param y
 * @param z
 * @param angle
 */
public static void renderPointer(double x, double y, double z, double angle) {

    GL11.glPushMatrix();
    {
        GL11.glTranslated(x, y, z);

        GL11.glTranslated(0.5, 0.5, 0.5);
        GL11.glRotated(180 + 360 * -angle, 0, 1, 0);
        GL11.glTranslated(-0.5, -0.5, -0.5);

        Minecraft.getMinecraft().renderEngine
                .bindTexture(new ResourceLocation("minecraft:textures/blocks/stone.png"));

        GL11.glBegin(GL11.GL_QUADS);
        {
            GL11.glNormal3d(0, -1, 0);
            // Bottom
            addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D);
            addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5);
            addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5);
            GL11.glNormal3d(0, 1, 0);
            // Top
            addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D);
            addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5);
            addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5);
            GL11.glNormal3d(1, 0, 0);
            // Side 1
            addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D);
            addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D);
            addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5);
            addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5);
            // Side 2
            addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5);
            addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5);
            addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            GL11.glNormal3d(-1, 0, 0);
            // Side 3
            addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D);
            addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5);
            addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5);
            // Side 4
            addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5);
            addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5);
            addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D);
            addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D);
        }
        GL11.glEnd();

    }
    GL11.glPopMatrix();

}

From source file:com.bluepowermod.client.render.RenderItemEngine.java

License:Open Source License

private void renderEngine(float x, float y, float z, float rotateAmount, float rotatex, float rotatey,
        float rotatez) {

    GL11.glPushMatrix();//  w  w  w. j a  v a  2  s  .c o  m
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glScalef(.034F, .034F, .034F);
    GL11.glTranslated(x, y, z);
    GL11.glRotatef(rotateAmount, rotatex, rotatey, rotatez);
    FMLClientHandler.instance().getClient().renderEngine.bindTexture(textureLocation);

    model.renderAll();

    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.client.render.RenderLamp.java

License:Open Source License

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {

    GL11.glPushMatrix();/*from  w ww .j av  a 2s . co  m*/
    {
        switch (type) {
        case ENTITY:
            GL11.glTranslated(-0.5, -0.5, -0.5);
            break;
        case EQUIPPED:
            break;
        case EQUIPPED_FIRST_PERSON:
            GL11.glTranslated(0, -0.1, 0);
            break;
        case INVENTORY:
            GL11.glTranslated(0, -0.1, 0);
            break;
        default:
            break;
        }

        BlockLamp block = (BlockLamp) Block.getBlockFromItem(item.getItem());
        int redMask = 0xFF0000, greenMask = 0xFF00, blueMask = 0xFF;
        int r = (block.getColor() & redMask) >> 16;
        int g = (block.getColor() & greenMask) >> 8;
        int b = (block.getColor() & blueMask);

        Vec3dCube cube = new Vec3dCube(0.0, 0.0, 0.0, 1.0, 1.0, 1.0);

        Tessellator t = Tessellator.instance;
        t.startDrawingQuads();
        t.setColorOpaque(r, g, b);

        RenderHelper h = RenderHelper.instance;
        h.reset();
        h.setColor(block.getColor());
        h.renderBox(cube, block.isInverted() ? BlockLamp.on : BlockLamp.off);
        h.reset();

        t.draw();
        if (block.isInverted()) {
            GL11.glEnable(GL11.GL_BLEND);
            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
            // GL11.glAlphaFunc(GL11.GL_EQUAL, (power / 15F) * 1F);
            GL11.glDisable(GL11.GL_TEXTURE_2D);
            GL11.glDisable(GL11.GL_LIGHTING);
            // GL11.glDisable(GL11.GL_CULL_FACE);
            GL11.glDepthMask(false);
            GL11.glBegin(GL11.GL_QUADS);
            com.bluepowermod.client.render.RenderHelper.drawColoredCube(cube.clone().expand(0.8 / 16D),
                    r / 256D, g / 256D, b / 256D, 0.625D);
            GL11.glEnd();
            GL11.glDepthMask(true);
            GL11.glEnable(GL11.GL_CULL_FACE);
            GL11.glEnable(GL11.GL_LIGHTING);
            GL11.glEnable(GL11.GL_TEXTURE_2D);
            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            // GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
            GL11.glDisable(GL11.GL_BLEND);
        }
    }
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.client.render.RenderPartItem.java

License:Open Source License

private void render(float x, float y, float z, float scale, ItemRenderType type, ItemStack item,
        Object... data) {//from  w  ww .  j  av a 2 s. c om

    boolean blend = GL11.glGetBoolean(GL11.GL_BLEND);
    boolean alpha = GL11.glGetBoolean(GL11.GL_ALPHA_TEST);

    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glEnable(GL11.GL_ALPHA_TEST);

    GL11.glPushMatrix();
    GL11.glScalef(scale, scale, scale);
    GL11.glTranslatef(x, y, z);
    Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);
    try {
        BPPart part = PartManager.getExample(item);
        part.renderItem(type, item, data);
    } catch (Exception ex) {
    }
    GL11.glPopMatrix();

    if (!blend)
        GL11.glDisable(GL11.GL_BLEND);
    if (!alpha)
        GL11.glDisable(GL11.GL_ALPHA_TEST);
}

From source file:com.bluepowermod.client.render.RenderWindmill.java

License:Open Source License

@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float var8) {
    TileWindmill mill = (TileWindmill) tile.getWorldObj().getTileEntity(tile.xCoord, tile.yCoord, tile.zCoord);

    GL11.glPushMatrix();//from  w  w  w . jav  a 2 s. co  m
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glTranslated(x + .5, y, z + .5);
    GL11.glScaled(.15, .15, .15);
    this.bindTexture(textureLocation);

    GL11.glRotated(mill.turbineTick, 0, 1, 0);
    model.renderAll();
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.part.gate.GateCounter.java

License:Open Source License

@Override
@SideOnly(Side.CLIENT)//w  ww . j a  v  a 2 s.co m
public void renderTop(float frame) {

    renderTop("left", left().getInput() > 0);
    renderTop("right", right().getInput() > 0);
    renderTop("centerleft", left().getInput() > 0);

    RenderHelper.renderDigitalRedstoneTorch(-2 / 16D, 2D / 8D, 0, 13D / 16D, true);
    RenderHelper.renderDigitalRedstoneTorch(0, 2D / 8D, -5D / 16D, 8D / 16D, count == 0);
    RenderHelper.renderDigitalRedstoneTorch(0, 2D / 8D, 5D / 16D, 8D / 16D, count == max);
    GL11.glPushMatrix();
    {
        GL11.glTranslated(2 / 16D, 0, 0);
        double min = 0.555;
        double max = 0.385;

        double angle = min + max * (count / (double) this.max);

        RenderHelper.renderPointer(-4 / 16D, 7 / 16D, 0, -angle + 0.5);
    }
    GL11.glPopMatrix();
}

From source file:com.bluepowermod.part.gate.GateRSLatch.java

License:Open Source License

@Override
@SideOnly(Side.CLIENT)/*from   w ww.  j  a  va 2  s. co  m*/
public void renderTop(float frame) {

    if (mode % 2 == 1) {
        GL11.glPushMatrix();
        GL11.glTranslated(0.5, 0, 0.5);
        GL11.glScaled(-1, 1, 1);
        GL11.glTranslated(-0.5, 0, -0.5);

        GL11.glDisable(GL11.GL_CULL_FACE);
    }

    Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(
            Refs.MODID + ":textures/blocks/gates/" + getTextureName() + (mode > 1 ? "2" : "") + "/base.png"));
    this.renderTop();

    Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(Refs.MODID
            + ":textures/blocks/gates/" + getTextureName() + (mode > 1 ? "2" : "") + "/left_"
            + ((mode % 2 == 0 ? left().getInput() > 0 : right().getInput() > 0) ? "on" : "off") + ".png"));
    renderTop();
    Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(Refs.MODID
            + ":textures/blocks/gates/" + getTextureName() + (mode > 1 ? "2" : "") + "/right_"
            + ((mode % 2 == 0 ? right().getInput() > 0 : left().getInput() > 0) ? "on" : "off") + ".png"));
    renderTop();
    if (mode > 1) {
        Minecraft.getMinecraft().renderEngine
                .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/" + getTextureName()
                        + "2/front" + "_" + (front().getInput() > 0 ? "on" : "off") + ".png"));
        renderTop();
        Minecraft.getMinecraft().renderEngine
                .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/" + getTextureName()
                        + "2/back" + "_" + (back().getInput() > 0 ? "on" : "off") + ".png"));
        renderTop();
    }

    RenderHelper.renderDigitalRedstoneTorch(1D / 8D, 3D / 16D, -2D / 8D, 9D / 16D, front().getInput() == 0);
    RenderHelper.renderDigitalRedstoneTorch(-1D / 8D, 3D / 16D, 2D / 8D, 9D / 16D, back().getInput() == 0);

    if (mode % 2 == 1) {
        GL11.glEnable(GL11.GL_CULL_FACE);
        GL11.glPopMatrix();
    }
}