Example usage for org.lwjgl.opengl GL11 glTranslatef

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

Introduction

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

Prototype

public static native void glTranslatef(@NativeType("GLfloat") float x, @NativeType("GLfloat") float y,
        @NativeType("GLfloat") float z);

Source Link

Document

Manipulates the current matrix with a translation matrix along the x-, y- and z- axes.

Usage

From source file:buildcraft.factory.RenderRefinery.java

License:Minecraft Mod Public

private void render(TileRefinery tile, double x, double y, double z) {

    int liquid1 = 0, liquid2 = 0, liquid3 = 0;
    int qty1 = 0, qty2 = 0, qty3 = 0;
    float anim = 0;
    int angle = 0;
    ModelRenderer theMagnet = magnet[0];

    if (tile != null) {
        liquid1 = tile.slot1.liquidId;/*from   w  ww  .j  a  va  2  s.c o m*/
        qty1 = tile.slot1.quantity;

        liquid2 = tile.slot2.liquidId;
        qty2 = tile.slot2.quantity;

        liquid3 = tile.result.liquidId;
        qty3 = tile.result.quantity;

        anim = tile.getAnimationStage();

        switch (tile.worldObj.getBlockMetadata(tile.xCoord, tile.yCoord, tile.zCoord)) {
        case 2:
            angle = 90;
            break;
        case 3:
            angle = 270;
            break;
        case 4:
            angle = 180;
            break;
        case 5:
            angle = 0;
            break;
        }

        if (tile.animationSpeed <= 1)
            theMagnet = magnet[0];
        else if (tile.animationSpeed <= 2.5)
            theMagnet = magnet[1];
        else if (tile.animationSpeed <= 4.5)
            theMagnet = magnet[2];
        else
            theMagnet = magnet[3];

    }

    GL11.glPushMatrix();
    GL11.glDisable(2896 /* GL_LIGHTING */);

    GL11.glTranslatef((float) x, (float) y, (float) z);

    GL11.glTranslatef(0.5F, 0.5F, 0.5F);
    GL11.glRotatef(angle, 0, 1, 0);
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);

    MinecraftForgeClient.bindTexture(DefaultProps.TEXTURE_PATH_BLOCKS + "/refinery.png");
    GL11.glTranslatef(-4F * factor, 0, -4F * factor);
    tank.render(factor);
    GL11.glTranslatef(4F * factor, 0, 4F * factor);

    GL11.glTranslatef(-4F * factor, 0, 4F * factor);
    tank.render(factor);
    GL11.glTranslatef(4F * factor, 0, -4F * factor);

    GL11.glTranslatef(4F * factor, 0, 0);
    tank.render(factor);
    GL11.glTranslatef(-4F * factor, 0, 0);

    float trans1, trans2;

    if (anim <= 100) {
        trans1 = 12F * factor * anim / 100F;
        trans2 = 0;
    } else if (anim <= 200) {
        trans1 = 12F * factor - (12F * factor * (anim - 100F) / 100F);
        trans2 = 12F * factor * (anim - 100F) / 100F;
    } else {
        trans1 = 12F * factor * (anim - 200F) / 100F;
        trans2 = 12F * factor - (12F * factor * (anim - 200F) / 100F);
    }

    GL11.glTranslatef(0, trans1, 0);
    theMagnet.render(factor);
    GL11.glTranslatef(0, -trans1, 0);

    GL11.glTranslatef(0, trans2, 12F * factor);
    theMagnet.render(factor);
    GL11.glTranslatef(0, -trans2, -12F * factor);

    GL11.glTranslatef(0.5F, 0.5F, 0.5F);

    GL11.glTranslatef(-4F * factor, 0, -4F * factor);
    if (qty1 > 0) {
        int[] list1 = getDisplayLists(liquid1, tile.worldObj);

        if (list1 != null) {
            setTextureFor(liquid1);
            GL11.glCallList(
                    list1[(int) ((float) qty1 / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(4F * factor, 0, 4F * factor);

    GL11.glTranslatef(-4F * factor, 0, 4F * factor);
    if (qty2 > 0) {
        int[] list2 = getDisplayLists(liquid2, tile.worldObj);

        if (list2 != null) {
            setTextureFor(liquid2);
            GL11.glCallList(
                    list2[(int) ((float) qty2 / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(4F * factor, 0, -4F * factor);

    GL11.glTranslatef(4F * factor, 0, 0);
    if (qty3 > 0) {
        int[] list3 = getDisplayLists(liquid3, tile.worldObj);

        if (list3 != null) {
            setTextureFor(liquid3);
            GL11.glCallList(getDisplayLists(liquid3, tile.worldObj)[(int) ((float) qty3
                    / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(-4F * factor, 0, 0);

    GL11.glEnable(2896 /* GL_LIGHTING */);
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.RenderTank.java

License:Minecraft Mod Public

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {

    TileTank tank = ((TileTank) tileentity);

    LiquidStack liquid = tank.tank.getLiquid();

    if (liquid == null || liquid.amount <= 0 || liquid.itemID <= 0)
        return;/*from   w w  w . j  a va2s  .c om*/

    int[] displayList = getDisplayLists(liquid.itemID, liquid.itemMeta, tileentity.worldObj);

    GL11.glPushMatrix();
    GL11.glDisable(2896 /* GL_LIGHTING */);

    Object obj = null;

    if (liquid.itemID < Block.blocksList.length && Block.blocksList[liquid.itemID] != null)
        obj = Block.blocksList[liquid.itemID];
    else
        obj = Item.itemsList[liquid.itemID];

    if (obj instanceof ITextureProvider)
        MinecraftForgeClient.bindTexture(((ITextureProvider) obj).getTextureFile());
    else
        MinecraftForgeClient.bindTexture("/terrain.png");

    GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F);

    GL11.glCallList(displayList[(int) ((float) liquid.amount / (float) (tank.tank.getCapacity())
            * (displayStages - 1))]);

    GL11.glEnable(2896 /* GL_LIGHTING */);
    GL11.glPopMatrix();
}

From source file:buildcraft.mod_BuildCraftCore.java

License:Minecraft Mod Public

@Override
public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j) {
    if (block.getRenderType() == BuildCraftCore.blockByEntityModel) {

        EntityRenderIndex index = new EntityRenderIndex(block, i);

        if (blockByEntityRenders.containsKey(index))
            blockByEntityRenders.get(index).inventoryRender(-0.5, -0.5, -0.5, 0, 0);
    } else if (block.getRenderType() == BuildCraftCore.markerModel) {
        // Do nothing here...
    } else if (block.getRenderType() == BuildCraftCore.legacyPipeModel) {
        Tessellator tessellator = Tessellator.instance;

        block.setBlockBounds(Utils.pipeMinPos, 0.0F, Utils.pipeMinPos, Utils.pipeMaxPos, 1.0F,
                Utils.pipeMaxPos);//  w  w  w . j  a va 2 s.  c  o  m
        block.setBlockBoundsForItemRender();
        GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, -1F, 0.0F);
        renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, i));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 1.0F, 0.0F);
        renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, i));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 0.0F, -1F);
        renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, i));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 0.0F, 1.0F);
        renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, i));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(-1F, 0.0F, 0.0F);
        renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, i));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(1.0F, 0.0F, 0.0F);
        renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, i));
        tessellator.draw();
        GL11.glTranslatef(0.5F, 0.5F, 0.5F);
        block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
    }
}

From source file:buildcraft.mod_BuildCraftSilicon.java

License:Minecraft Mod Public

@Override
public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j) {
    block.setBlockBounds(Utils.pipeMinPos, 0.0F, Utils.pipeMinPos, Utils.pipeMaxPos, 1.0F, Utils.pipeMaxPos);
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);

    block.setBlockBounds(0.0F, 0.0F, 0.0F, 1, 4F / 16F, 1);
    renderBlockInInv(renderblocks, block, 0);

    block.setBlockBounds(5F / 16F, 4F / 16F, 5F / 16F, 11F / 16F, 13F / 16F, 11F / 16F);
    renderBlockInInv(renderblocks, block, 1);

    GL11.glTranslatef(0.5F, 0.5F, 0.5F);
    block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}

From source file:buildcraft.robotics.render.RenderRobot.java

License:Minecraft Mod Public

private void doRender(EntityRobot robot, double x, double y, double z, float partialTicks) {
    GL11.glPushMatrix();/*from w  w w .ja v a2s . co  m*/
    GL11.glTranslated(x, y, z);

    float robotYaw = this.interpolateRotation(robot.prevRenderYawOffset, robot.renderYawOffset, partialTicks);
    GL11.glRotatef(-robotYaw, 0.0f, 1.0f, 0.0f);

    if (robot.getStackInSlot(0) != null) {
        GL11.glPushMatrix();
        GL11.glTranslatef(-0.125F, 0, -0.125F);
        doRenderItem(robot.getStackInSlot(0));
        GL11.glColor3f(1, 1, 1);
        GL11.glPopMatrix();
    }

    if (robot.getStackInSlot(1) != null) {
        GL11.glPushMatrix();
        GL11.glTranslatef(+0.125F, 0, -0.125F);
        doRenderItem(robot.getStackInSlot(1));
        GL11.glColor3f(1, 1, 1);
        GL11.glPopMatrix();
    }

    if (robot.getStackInSlot(2) != null) {
        GL11.glPushMatrix();
        GL11.glTranslatef(+0.125F, 0, +0.125F);
        doRenderItem(robot.getStackInSlot(2));
        GL11.glColor3f(1, 1, 1);
        GL11.glPopMatrix();
    }

    if (robot.getStackInSlot(3) != null) {
        GL11.glPushMatrix();
        GL11.glTranslatef(-0.125F, 0, +0.125F);
        doRenderItem(robot.getStackInSlot(3));
        GL11.glColor3f(1, 1, 1);
        GL11.glPopMatrix();
    }

    if (robot.itemInUse != null) {
        GL11.glPushMatrix();

        GL11.glRotatef(robot.itemAngle2, 0, 0, 1);

        if (robot.itemActive) {
            long newDate = new Date().getTime();
            robot.itemActiveStage = (robot.itemActiveStage + (newDate - robot.lastUpdateTime) / 10) % 45;
            GL11.glRotatef(robot.itemActiveStage, 0, 0, 1);
            robot.lastUpdateTime = newDate;
        }

        GL11.glTranslatef(-0.4F, 0, 0);
        GL11.glRotatef(-45F + 180F, 0, 1, 0);
        GL11.glScalef(0.8F, 0.8F, 0.8F);

        ItemStack itemstack1 = robot.itemInUse;

        if (itemstack1.getItem().requiresMultipleRenderPasses()) {
            for (int k = 0; k < itemstack1.getItem().getRenderPasses(itemstack1.getItemDamage()); ++k) {
                RenderUtils.setGLColorFromInt(itemstack1.getItem().getColorFromItemStack(itemstack1, k));
                this.renderManager.itemRenderer.renderItem(robot, itemstack1, k);
            }
        } else {
            RenderUtils.setGLColorFromInt(itemstack1.getItem().getColorFromItemStack(itemstack1, 0));
            this.renderManager.itemRenderer.renderItem(robot, itemstack1, 0);
        }

        GL11.glColor3f(1, 1, 1);
        GL11.glPopMatrix();
    }

    if (robot.laser.isVisible) {
        robot.laser.head.x = robot.posX;
        robot.laser.head.y = robot.posY;
        robot.laser.head.z = robot.posZ;

        RenderLaser.doRenderLaser(renderManager.renderEngine, robot.laser, EntityLaser.LASER_TEXTURES[1]);
    }

    if (robot.getTexture() != null) {
        renderManager.renderEngine.bindTexture(robot.getTexture());
        float storagePercent = (float) robot.getBattery().getEnergyStored()
                / (float) robot.getBattery().getMaxEnergyStored();
        if (robot.hurtTime > 0) {
            GL11.glColor3f(1.0f, 0.6f, 0.6f);
            GL11.glRotatef(robot.hurtTime * 0.01f, 0, 0, 1);
        }
        doRenderRobot(1F / 16F, renderManager.renderEngine, storagePercent, robot.isActive());
    }

    for (ItemStack s : robot.getWearables()) {
        doRenderWearable(robot, renderManager.renderEngine, s);
    }

    GL11.glPopMatrix();
}

From source file:buildcraft.robotics.render.RenderRobot.java

License:Minecraft Mod Public

private void doRenderItem(ItemStack stack) {
    float renderScale = 0.5f;
    GL11.glPushMatrix();//w w  w . java  2  s  .c om
    GL11.glTranslatef(0, 0.28F, 0);
    GL11.glScalef(renderScale, renderScale, renderScale);
    dummyEntityItem.setEntityItemStack(stack);
    customRenderItem.doRender(dummyEntityItem, 0, 0, 0, 0, 0);

    GL11.glPopMatrix();
}

From source file:buildcraft.robotics.render.RenderRobot.java

License:Minecraft Mod Public

private void doRenderWearable(EntityRobot entity, TextureManager textureManager, ItemStack wearable) {
    if (wearable.getItem() instanceof IRobotOverlayItem) {
        ((IRobotOverlayItem) wearable.getItem()).renderRobotOverlay(wearable, textureManager);
    } else if (wearable.getItem() instanceof ItemArmor) {
        GL11.glPushMatrix();/*from  www .j  a  va 2 s .  co  m*/
        GL11.glScalef(1.0125F, 1.0125F, 1.0125F);
        GL11.glTranslatef(0.0f, -0.25f, 0.0f);
        GL11.glRotatef(180F, 0, 0, 1);

        int color = wearable.getItem().getColorFromItemStack(wearable, 0);
        if (color != 16777215) {
            GL11.glPushAttrib(GL11.GL_COLOR_BUFFER_BIT);
            GL11.glColor3ub((byte) (color >> 16), (byte) ((color >> 8) & 255), (byte) (color & 255));
        }

        textureManager.bindTexture(RenderBiped.getArmorResource(entity, wearable, 0, null));
        ModelBiped armorModel = ForgeHooksClient.getArmorModel(entity, wearable, 0, null);
        if (armorModel != null) {
            armorModel.render(entity, 0, 0, 0, -90f, 0, 1 / 16F);

            if (color != 16777215) {
                GL11.glPopAttrib();
            }
        } else {
            GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
            helmetBox.render(1 / 16F);

            if (color != 16777215) {
                this.bindTexture(RenderBiped.getArmorResource(entity, wearable, 0, "overlay"));
                helmetBox.render(1 / 16F);
                GL11.glPopAttrib();
            }
        }

        GL11.glPopMatrix();
    } else if (wearable.getItem() instanceof ItemSkull) {
        doRenderSkull(wearable);
    }
}

From source file:buildcraft.robotics.render.RenderRobot.java

License:Minecraft Mod Public

private void doRenderSkull(ItemStack wearable) {
    GL11.glPushMatrix();//  w  ww.  ja  v  a2s  .  c o m
    GL11.glScalef(1.0125F, 1.0125F, 1.0125F);
    GameProfile gameProfile = null;
    if (wearable.hasTagCompound()) {
        NBTTagCompound nbt = wearable.getTagCompound();
        if (nbt.hasKey("Name")) {
            gameProfile = gameProfileCache.get(nbt.getString("Name"));
        } else if (nbt.hasKey("SkullOwner", NBT.TAG_COMPOUND)) {
            gameProfile = NBTUtil.func_152459_a(nbt.getCompoundTag("SkullOwner"));
            nbt.setString("Name", gameProfile.getName());
            gameProfileCache.put(gameProfile.getName(), gameProfile);
        }
    }

    TileEntitySkullRenderer.field_147536_b.func_152674_a(-0.5F, -0.25F, -0.5F, 1, -90.0F,
            wearable.getItemDamage(), gameProfile);
    if (gameProfile != null) {
        GL11.glTranslatef(0.0f, -0.25f, 0.0f);
        GL11.glRotatef(180F, 0, 0, 1);
        GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
        skullOverlayBox.render(1 / 16f);
    }
    GL11.glPopMatrix();
}

From source file:buildcraft.robotics.render.RobotStationItemRenderer.java

License:Minecraft Mod Public

private void renderPlugItem(RenderBlocks render, ItemStack item, float translateX, float translateY,
        float translateZ) {
    FakeBlock block = FakeBlock.INSTANCE;
    Tessellator tessellator = Tessellator.instance;
    IIcon textureID = BuildCraftTransport.instance.pipeIconProvider
            .getIcon(PipeIconProvider.TYPE.PipeRobotStation.ordinal()); // Structure pipe

    GL11.glTranslatef(translateX, translateY, translateZ + 0.25F);

    block.setBlockBounds(0.25F, 0.1875F, 0.25F, 0.75F, 0.25F, 0.75F);
    render.setRenderBoundsFromBlock(block);
    RenderUtils.drawBlockItem(render, tessellator, block, textureID);

    block.setBlockBounds(0.4325F, 0.25F, 0.4325F, 0.5675F, 0.4375F, 0.5675F);
    render.setRenderBoundsFromBlock(block);
    RenderUtils.drawBlockItem(render, tessellator, block, textureID);
}

From source file:buildcraft.robotics.render.RobotStationItemRenderer.java

License:Minecraft Mod Public

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    switch (type) {
    case ENTITY:/* ww w.  ja  v a 2s  . co  m*/
        GL11.glScalef(0.50F, 0.50F, 0.50F);
        renderPlugItem((RenderBlocks) data[0], item, -0.6F, 0f, -0.6F);
        break;
    case EQUIPPED:
    case EQUIPPED_FIRST_PERSON:
        GL11.glRotatef(70, 0, 0, 1F);
        GL11.glRotatef(-55, 1, 0, 0);
        GL11.glScalef(2F, 2F, 2F);
        GL11.glTranslatef(0, -0.6F, -0.4F);
        renderPlugItem((RenderBlocks) data[0], item, 0F, 0F, 0f);
        break;
    case INVENTORY:
        GL11.glScalef(1.1F, 1.1F, 1.1F);
        renderPlugItem((RenderBlocks) data[0], item, -0.3f, -0.35f, -0.7f);
        break;
    default:
    }
}