Example usage for org.lwjgl.opengl GL11 glScalef

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

Introduction

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

Prototype

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

Source Link

Document

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

Usage

From source file:buildcraft.core.render.RenderLaser.java

License:Minecraft Mod Public

private static void doRenderLaserLine(double len, int texId) {
    float lasti = 0;

    if (len - 1 > 0) {
        for (float i = 0; i <= len - 1; i += 1) {
            getBox(texId).render(1F / 16F);
            GL11.glTranslated(1, 0, 0);/* w  w  w  .  j  a  v  a  2  s.c  om*/
            lasti = i;
        }
        lasti++;
    }

    GL11.glPushMatrix();
    GL11.glScalef((float) len - lasti, 1, 1);
    getBox(texId).render(1F / 16F);
    GL11.glPopMatrix();

    GL11.glTranslated((float) (len - lasti), 0, 0);
}

From source file:buildcraft.factory.render.RenderRefinery.java

License:Minecraft Mod Public

private void render(TileRefinery tile, double x, double y, double z) {
    FluidStack liquid1 = null, liquid2 = null, liquidResult = null;
    int color1 = 0xFFFFFF, color2 = 0xFFFFFF, colorResult = 0xFFFFFF;

    float anim = 0;
    int angle = 0;
    ModelRenderer theMagnet = magnet[0];
    if (tile != null) {
        if (tile.tank1.getFluid() != null) {
            liquid1 = tile.tank1.getFluid();
            color1 = tile.tank1.colorRenderCache;
        }/*  w  w  w.j a  v a  2  s  . co  m*/

        if (tile.tank2.getFluid() != null) {
            liquid2 = tile.tank2.getFluid();
            color2 = tile.tank2.colorRenderCache;
        }

        if (tile.result.getFluid() != null) {
            liquidResult = tile.result.getFluid();
            colorResult = tile.result.colorRenderCache;
        }

        anim = tile.getAnimationStage();

        angle = 0;
        switch (tile.getWorldObj().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.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_CULL_FACE);

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

    GL11.glRotatef(angle, 0, 1, 0);

    bindTexture(TEXTURE);

    GL11.glPushMatrix();
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
    GL11.glTranslatef(-4F * pixel, 0, -4F * pixel);
    tank.render(pixel);
    GL11.glTranslatef(4F * pixel, 0, 4F * pixel);

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

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

    float trans1, trans2;

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

    GL11.glPushMatrix();
    GL11.glScalef(0.99F, 0.99F, 0.99F);
    GL11.glTranslatef(-0.51F, trans1 - 0.5F, -0.5F);
    theMagnet.render(pixel);
    GL11.glPopMatrix();

    GL11.glPushMatrix();
    GL11.glScalef(0.99F, 0.99F, 0.99F);
    GL11.glTranslatef(-0.51F, trans2 - 0.5F, 12F * pixel - 0.5F);
    theMagnet.render(pixel);
    GL11.glPopMatrix();

    if (tile != null) {
        GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
        GL11.glEnable(GL11.GL_CULL_FACE);
        GL11.glDisable(GL11.GL_LIGHTING);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

        GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
        GL11.glScalef(0.5F, 1, 0.5F);

        if (liquid1 != null && liquid1.amount > 0) {
            int[] list1 = FluidRenderer.getFluidDisplayLists(liquid1, tile.getWorldObj(), false);

            if (list1 != null) {
                bindTexture(FluidRenderer.getFluidSheet(liquid1));
                RenderUtils.setGLColorFromInt(color1);
                GL11.glCallList(list1[getDisplayListIndex(tile.tank1)]);
            }
        }

        if (liquid2 != null && liquid2.amount > 0) {
            int[] list2 = FluidRenderer.getFluidDisplayLists(liquid2, tile.getWorldObj(), false);

            if (list2 != null) {
                GL11.glPushMatrix();
                GL11.glTranslatef(0, 0, 1);
                bindTexture(FluidRenderer.getFluidSheet(liquid2));
                RenderUtils.setGLColorFromInt(color2);
                GL11.glCallList(list2[getDisplayListIndex(tile.tank2)]);
                GL11.glPopMatrix();
            }
        }

        if (liquidResult != null && liquidResult.amount > 0) {
            int[] list3 = FluidRenderer.getFluidDisplayLists(liquidResult, tile.getWorldObj(), false);

            if (list3 != null) {
                GL11.glPushMatrix();
                GL11.glTranslatef(1, 0, 0.5F);
                bindTexture(FluidRenderer.getFluidSheet(liquidResult));
                RenderUtils.setGLColorFromInt(colorResult);
                GL11.glCallList(list3[getDisplayListIndex(tile.result)]);
                GL11.glPopMatrix();
            }
        }
        GL11.glPopAttrib();
    }

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.render.RenderTank.java

License:Minecraft Mod Public

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

    TileTank tank = (TileTank) tileentity;

    FluidStack liquid = tank.tank.getFluid();
    int color = tank.tank.colorRenderCache;
    if (liquid == null || liquid.amount <= 0) {
        return;/*www  .j  a v  a  2 s .co m*/
    }

    int[] displayList = FluidRenderer.getFluidDisplayLists(liquid, tileentity.getWorldObj(), false);
    if (displayList == null) {
        return;
    }

    GL11.glPushMatrix();
    GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    bindTexture(FluidRenderer.getFluidSheet(liquid));
    RenderUtils.setGLColorFromInt(color);

    GL11.glTranslatef((float) x + 0.125F, (float) y + 0.5F, (float) z + 0.125F);
    GL11.glScalef(0.75F, 0.999F, 0.75F);
    GL11.glTranslatef(0, -0.5F, 0);

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

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

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 ww.  j ava  2  s  . com
    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  .  j  a v  a  2  s  .c o m*/
    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();//w w  w.j  a v a  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 w  w  .ja v  a 2  s  . co  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

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    switch (type) {
    case ENTITY:/*from www  . j a v  a  2  s.c om*/
        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:
    }
}

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

License:Minecraft Mod Public

private void doRender(EntityRobot robot, double x, double y, double z) {
    GL11.glPushMatrix();//  w  ww.  ja  v  a  2 s.  co m
    GL11.glTranslated(x, y, z);

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

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

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

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

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

        GL11.glRotatef((float) (-robot.itemAngle1 / (2 * Math.PI) * 360) + 180, 0, 1, 0);
        GL11.glRotatef((float) (robot.itemAngle2 / (2 * Math.PI) * 360), 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());
        doRenderRobot(1F / 16F, renderManager.renderEngine);
    }

    GL11.glPopMatrix();
}

From source file:buildcraft.transport.render.FacadeItemRenderer.java

License:Minecraft Mod Public

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

    switch (type) {
    case ENTITY://from  ww  w.j a v  a  2s. c  o m
        GL11.glScalef(0.50F, 0.50F, 0.50F);
        renderFacadeItem((RenderBlocks) data[0], item, -0.6F, 0f, -0.6F);
        break;
    case EQUIPPED:
    case EQUIPPED_FIRST_PERSON:
        renderFacadeItem((RenderBlocks) data[0], item, 0F, 0F, 0f);
        break;
    case INVENTORY:
        GL11.glScalef(1.1F, 1.1F, 1.1F);
        renderFacadeItem((RenderBlocks) data[0], item, -0.3f, -0.35f, -0.7f);
        break;
    default:
    }
}