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:com.itszuvalex.femtocraft.power.render.RenderPlasmaConduit.java

License:Open Source License

@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    BlockPlasmaConduit conduit = (BlockPlasmaConduit) block;
    if (conduit == null) {
        return;//from   w ww  . j a v a 2s. c  om
    }

    Tessellator tessellator = Tessellator.instance;

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

    tessellator.startDrawingQuads();
    tessellator.setColorOpaque_F(1, 1, 1);
    renderConduit(conduit, 0, 0, 0, false, ForgeDirection.NORTH, ForgeDirection.UNKNOWN);
    tessellator.draw();

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

}

From source file:com.itszuvalex.femtocraft.power.render.RenderStellaratorCore.java

License:Open Source License

@java.lang.Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    BlockFemtoStellaratorCore core = (BlockFemtoStellaratorCore) block;
    if (core == null) {
        return;/*  w w  w  . j  a  va2 s  . c o m*/
    }

    Tessellator tessellator = Tessellator.instance;

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

    tessellator.startDrawingQuads();
    tessellator.setColorOpaque_F(1, 1, 1);
    renderCore(core, 0, 0, 0);
    tessellator.draw();

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

From source file:com.itszuvalex.femtocraft.power.render.RenderStellaratorFocus.java

License:Open Source License

@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    BlockFemtoStellaratorFocus focus = (BlockFemtoStellaratorFocus) block;
    if (focus == null) {
        return;/*from ww  w.j a  va 2 s  .  c o m*/
    }

    Tessellator tessellator = Tessellator.instance;

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

    tessellator.startDrawingQuads();
    tessellator.setColorOpaque_F(1, 1, 1);
    renderFocus(focus, 0, 0, 0);
    tessellator.draw();

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

From source file:com.itszuvalex.femtocraft.research.gui.GuiResearch.java

License:Open Source License

protected void genAchievementBackground(int par1, int par2, float par3) {
    int k = MathHelper.floor_double(field_74117_m + (guiMapX - field_74117_m) * (double) par3);
    int l = MathHelper.floor_double(field_74115_n + (guiMapY - field_74115_n) * (double) par3);

    if (k < guiMapTop) {
        k = guiMapTop;/*from  w ww  .  ja  va  2s  .  c  om*/
    }

    if (l < guiMapLeft) {
        l = guiMapLeft;
    }

    if (k >= guiMapBottom) {
        k = guiMapBottom - 1;
    }

    if (l >= guiMapRight) {
        l = guiMapRight - 1;
    }

    int i1 = (this.width - this.researchPaneWidth) / 2;
    int j1 = (this.height - this.researchPaneHeight) / 2;
    int k1 = i1 + 16;
    int l1 = j1 + 17;
    this.zLevel = 0.0F;
    GL11.glDepthFunc(GL11.GL_GEQUAL);
    GL11.glPushMatrix();
    GL11.glTranslatef(0.0F, 0.0F, -200.0F);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
    GL11.glEnable(GL11.GL_COLOR_MATERIAL);
    int i2 = k + 288 >> 4;
    int j2 = l + 288 >> 4;
    int k2 = (k + 288) % 16;
    int l2 = (l + 288) % 16;
    Random random = new Random();
    int i3;
    int j3;
    int k3;

    // Make background

    for (i3 = 0; i3 * 16 - l2 < 155; ++i3) {
        float f1 = 0.6F - (float) (j2 + i3) / 25.0F * 0.3F;
        GL11.glColor4f(f1, f1, f1, 1.0F);

        for (k3 = 0; k3 * 16 - k2 < 224; ++k3) {
            random.setSeed((long) (1234 + i2 + k3));
            random.nextInt();
            j3 = random.nextInt(1 + j2 + i3) + (j2 + i3) / 2;
            IIcon icon = Blocks.sand.getIcon(0, 0);

            if (j3 <= 37 && j2 + i3 != 35) {
                if (j3 == 22) {
                    if (random.nextInt(2) == 0) {
                        icon = Femtocraft.blockOrePlatinum().getIcon(0, 0);
                    } else {
                        icon = Femtocraft.blockOreFarenite().getIcon(0, 0);
                    }
                } else if (j3 == 10) {
                    icon = Femtocraft.blockOreTitanium().getIcon(0, 0);
                } else if (j3 == 8) {
                    icon = Femtocraft.blockOreThorium().getIcon(0, 0);
                } else if (j3 > 4) {
                    icon = Blocks.stone.getIcon(0, 0);
                } else if (j3 > 0) {
                    icon = Blocks.dirt.getIcon(0, 0);
                }
            } else {
                icon = Blocks.bedrock.getIcon(0, 0);
            }

            Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
            this.drawTexturedModelRectFromIcon(k1 + k3 * 16 - k2, l1 + i3 * 16 - l2, icon, 16, 16);
        }
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    //        GL11.glDisable(GL11.GL_TEXTURE_2D);
    int l3;
    int i4;
    int j4;

    for (ITechnology tech : Femtocraft.researchManager().getTechnologies()) {
        ResearchStatus rs = researchStatus.getTechnology(tech.getName());
        if (rs == null) {
            continue;
        }
        if (tech.getPrerequisites() != null) {
            for (String cr : tech.getPrerequisites()) {
                TechNode node = Femtocraft.researchManager().getNode(tech);

                for (IGraphNode parent : node.getParents()) {
                    IGraphNode next = parent;
                    IGraphNode prev = node;
                    while (next instanceof DummyTechNode) {
                        k3 = prev.getDisplayX() * 24 - k + 11 + k1;
                        j3 = prev.getDisplayY() * 24 - l + 11 + l1 - 11;
                        j4 = next.getDisplayX() * 24 - k + 11 + k1;
                        l3 = next.getDisplayY() * 24 - l + 11 + l1 + 11;
                        boolean flag6 = !rs.researched();
                        i4 = Math.sin(
                                (double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) > 0.6D
                                        ? 255
                                        : 130;
                        int color = tech.getLevel().getColor();
                        if (flag6) {
                            color += (i4 << 24);
                        } else {
                            color += (255 << 24);
                        }

                        // this.drawHorizontalLine(k3, j4, j3, color);
                        // this.drawVerticalLine(j4, j3, l3, color);
                        RenderUtils.drawLine(k3, j4, j3, l3, 1, color);
                        RenderUtils.drawLine(j4, j4, l3 - 22, l3, 1, color);

                        // Dummy nodes should only have 1 parent
                        prev = next;
                        next = next.getParents().get(0);
                    }

                    k3 = prev.getDisplayX() * 24 - k + 11 + k1;
                    j3 = prev.getDisplayY() * 24 - l + 11 + l1 - 11;
                    j4 = next.getDisplayX() * 24 - k + 11 + k1;
                    l3 = next.getDisplayY() * 24 - l + 11 + l1 + 11;
                    boolean flag6 = !rs.researched();
                    i4 = Math.sin((double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) > 0.6D
                            ? 255
                            : 130;
                    int color = tech.getLevel().getColor();
                    if (flag6) {
                        color += (i4 << 24);
                    } else {
                        color += (255 << 24);
                    }

                    // this.drawHorizontalLine(k3, j4, j3, color);
                    // this.drawVerticalLine(j4, j3, l3, color);
                    RenderUtils.drawLine(k3, j4, j3, l3, 1, color);
                }
            }
        }
    }

    ITechnology tooltipTech = null;
    RenderItem renderitem = new RenderItem();
    RenderHelper.enableGUIStandardItemLighting();
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
    GL11.glEnable(GL11.GL_COLOR_MATERIAL);
    int l4;
    int i5;

    for (ITechnology tech : Femtocraft.researchManager().getTechnologies()) {
        ResearchStatus ts = researchStatus.getTechnology(tech.getName());
        if (ts == null) {
            continue;
        }
        TechNode node = Femtocraft.researchManager().getNode(tech);
        j4 = node.getDisplayX() * 24 - k;
        l3 = node.getDisplayY() * 24 - l;

        if (j4 >= -24 && l3 >= -24 && j4 <= 224 && l3 <= 155) {
            float f2;

            if (ts.researched()) {
                f2 = 1.0F;
                GL11.glColor4f(f2, f2, f2, 1.0F);
            } else {
                f2 = Math.sin((double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) < 0.6D
                        ? 0.6F
                        : 0.8F;
                GL11.glColor4f(f2, f2, f2, 1.0F);
            }
            // else {
            // f2 = 0.3F;
            // GL11.glColor4f(f2, f2, f2, 1.0F);
            // }

            Minecraft.getMinecraft().getTextureManager().bindTexture(achievementTextures);
            i5 = k1 + j4;
            l4 = l1 + l3;

            GL11.glEnable(GL11.GL_BLEND);// Forge: Specifically enable blend because it is needed here. And we
            // fix Generic RenderItem's leakage of it.
            if (tech.isKeystone()) {
                this.drawTexturedModalRect(i5 - 2, l4 - 2, 26, 202, 26, 26);
            } else {
                this.drawTexturedModalRect(i5 - 2, l4 - 2, 0, 202, 26, 26);
            }
            GL11.glDisable(GL11.GL_BLEND); //Forge: Cleanup states we set.
            //
            // if (!this.statFileWriter.canUnlockAchievement(achievement2))
            // {
            // float f3 = 0.1F;
            // GL11.glColor4f(f3, f3, f3, 1.0F);
            // renderitem.renderWithColor = false;
            // }

            GL11.glDisable(GL11.GL_LIGHTING); //Forge: Make sure Lighting is disabled. Fixes MC-33065
            GL11.glEnable(GL11.GL_CULL_FACE);

            RenderHelper.enableGUIStandardItemLighting();
            //                GL11.glDisable(GL11.GL_LIGHTING);
            //                GL11.glBlendFunc(GL11.GL_DST_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            //                GL11.glEnable(GL12.GL_RESCALE_NORMAL);
            //                GL11.glEnable(GL11.GL_COLOR_MATERIAL);
            //                GL11.glEnable(GL11.GL_LIGHTING);
            //                GL11.glEnable(GL11.GL_CULL_FACE);
            renderitem.renderItemAndEffectIntoGUI(Minecraft.getMinecraft().fontRenderer,
                    Minecraft.getMinecraft().getTextureManager(), tech.getDisplayItem(), i5 + 3, l4 + 3);
            RenderHelper.disableStandardItemLighting();
            //                GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            //                GL11.glDisable(GL11.GL_LIGHTING);
            //                GL11.glDisable(GL12.GL_RESCALE_NORMAL);

            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            GL11.glDisable(GL11.GL_LIGHTING);

            // if (!this.statFileWriter.canUnlockAchievement(achievement2))
            // {
            // renderitem.renderWithColor = true;
            // }

            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

            if (par1 >= k1 && par2 >= l1 && par1 < k1 + 224 && par2 < l1 + 155 && par1 >= i5 && par1 <= i5 + 22
                    && par2 >= l4 && par2 <= l4 + 22) {
                tooltipTech = tech;
            }
        }
    }

    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glPopMatrix();
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    Minecraft.getMinecraft().getTextureManager().bindTexture(achievementTextures);
    this.drawTexturedModalRect(i1, j1, 0, 0, this.researchPaneWidth, this.researchPaneHeight);
    //        GL11.glPopMatrix();
    this.zLevel = 0.0F;
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    super.drawScreen(par1, par2, par3);

    if (tooltipTech != null) {

        ResearchStatus status = researchStatus.getTechnology(tooltipTech.getName());
        String s = tooltipTech.getName();
        String s1 = tooltipTech.getShortDescription();
        j4 = par1 + 12;
        l3 = par2 - 4;

        i5 = Math.max(this.fontRendererObj.getStringWidth(s), 120);
        l4 = this.fontRendererObj.splitStringWidth(s1, i5);

        if (status.researched()) {
            l4 += 12;
        }

        this.drawGradientRect(j4 - 3, l3 - 3, j4 + i5 + 3, l3 + l4 + 3 + 12, -1073741824, -1073741824);
        this.fontRendererObj.drawSplitString(s1, j4, l3 + 12, i5, -6250336);

        if (status.researched()) {
            this.fontRendererObj.drawStringWithShadow("Researched!", j4, l3 + l4 + 4, -7302913);
        }

        // Keep Commented

        // else {
        // i5 = Math.max(this.fontRenderer.getStringWidth(s), 120);
        // String s2 = I18n.getStringParams("achievement.requires",
        // new Object[] { I18n
        // .getString(tooltipTech.parentAchievement
        // .getName()) });
        // i4 = this.fontRenderer.splitStringWidth(s2, i5);
        // this.drawGradientRect(j4 - 3, l3 - 3, j4 + i5 + 3, l3 + i4 + 12
        // + 3, -1073741824, -1073741824);
        // this.fontRenderer
        // .drawSplitString(s2, j4, l3 + 12, i5, -9416624);
        // }

        this.fontRendererObj.drawStringWithShadow(s, j4, l3,
                status.researched() ? (tooltipTech.isKeystone() ? -128 : -1)
                        : (tooltipTech.isKeystone() ? -8355776 : -8355712));
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_LIGHTING);
    RenderHelper.disableStandardItemLighting();
}

From source file:com.itszuvalex.femtocraft.transport.items.render.RenderVacuumTube.java

License:Open Source License

@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    BlockVacuumTube tube = (BlockVacuumTube) block;
    if (tube == null) {
        return;//from  w  w w  .jav a2 s . c om
    }

    Tessellator tessellator = Tessellator.instance;

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

    tessellator.startDrawingQuads();
    tessellator.setColorOpaque_F(1, 1, 1);
    renderTube(tube, 0, 0, 0, new boolean[] { false, false, false, false }, false, ForgeDirection.NORTH,
            ForgeDirection.SOUTH, false, false);
    tessellator.draw();

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

}

From source file:com.itszuvalex.femtocraft.transport.liquids.render.RenderSuctionPipe.java

License:Open Source License

@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
    BlockSuctionPipe pipe = (BlockSuctionPipe) block;
    if (pipe == null) {
        return;//from w  ww. j a va2 s .  c o m
    }

    Tessellator tessellator = Tessellator.instance;

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

    tessellator.startDrawingQuads();
    tessellator.setColorOpaque_F(1, 1, 1);
    renderPipe(pipe, 0, 0, 0, new boolean[] { false, false, true, false, false, false },
            new boolean[] { false, false, false, true, false, false }, false, false, null);
    tessellator.draw();

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

}

From source file:com.jadarstudios.rankcapes.forge.gui.GuiCapeSelect.java

License:MIT License

@Override
public void drawScreen(int mouseX, int mouseY, float delta) {
    // draws the black background
    this.drawDefaultBackground();

    // reset color
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

    // set GUI texture
    mc.getTextureManager().bindTexture(background);

    // draw GUI texture
    this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, 176, 166);

    // new GL matrix
    GL11.glPushMatrix();//from w ww.  j av  a 2s.  c  om
    {
        // move matrix into position
        GL11.glTranslatef(this.guiLeft + 51, this.guiTop + 114, 130);

        // rotate matrix
        GL11.glRotatef(180, 0, 1, 0);

        // draw player
        GuiInventory.func_147046_a(-77, -5, 50, mouseX - (this.guiLeft + 127), this.guiTop + 32 - mouseY,
                mc.thePlayer);
    }
    // end
    GL11.glPopMatrix();

    // draws buttons.
    if (this.buttonPages != null && this.buttonPages.size() > 0) {
        GuiButton[] buttonPage = this.buttonPages.get(this.currentPage);

        for (GuiButton bttn : buttonPage) {
            if (bttn != null) {
                bttn.drawButton(mc, mouseX, mouseY);
            }
        }
    }

    // super call.
    super.drawScreen(mouseX, mouseY, delta);
}

From source file:com.jmanpenilla.carbonmod.client.render.item.RenderCompressionChamberItem.java

License:LGPL

private static void renderCompressionChamber(float x, float y, float z, float scale) {
    GL11.glPushMatrix();//  w  ww.  jav a  2 s .  c om

    // Disable Lighting Calculations
    GL11.glDisable(GL11.GL_LIGHTING);

    GL11.glTranslatef(x, y, z);

    FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);

    GL11.glScalef(scale, scale, scale);
    GL11.glRotatef(180f, 0f, 0f, 1f);

    RenderCompressionChamber.model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);

    // Re-enable Lighting Calculations
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:com.jmex.bui.BComponent.java

License:Open Source License

/**
 * Translates into the component's coordinate space, renders the background and border and then
 * calls {@link #renderComponent} to allow the component to render itself.
 *//*from w w w  .  j  a v a  2s  .  c o  m*/
public void render(Renderer renderer) {
    if (!_visible) {
        return;
    }
    GL11.glTranslatef(_x, _y, 0);

    try {
        // render our background
        renderBackground(renderer);

        // render any custom component bits
        renderComponent(renderer);

        // render our border
        renderBorder(renderer);
    } finally {
        GL11.glTranslatef(-_x, -_y, 0);
    }
}

From source file:com.jmex.bui.BGeomView.java

License:Open Source License

/**
 * Documentation Inherited//from w  w  w .j  a va2 s .  co  m
 *
 * @param renderer Renderer
 * @see BComponent#renderComponent
 */
@Override
protected void renderComponent(final Renderer renderer) {
    super.renderComponent(renderer);
    if (_geom == null) {
        return;
    }

    applyDefaultStates();
    Camera cam = renderer.getCamera();

    int x = getAbsoluteX();
    int y = getAbsoluteY();

    boolean useOrtho = (_geom.getRenderQueueMode() == Renderer.QUEUE_ORTHO);

    try {
        if (!useOrtho) {
            renderer.unsetOrtho();

            // create or resize our camera if necessary
            DisplaySystem display = DisplaySystem.getDisplaySystem();
            int swidth = display.getWidth(), sheight = display.getHeight();
            boolean updateDisplay = false;
            if (_camera == null || _swidth != swidth || _sheight != sheight) {
                _swidth = swidth;
                _sheight = sheight;
                if (_camera == null) {
                    _camera = createCamera(display);
                } else {
                    _camera.resize(_swidth, _sheight);
                }
                updateDisplay = true;
            }

            // set up our camera viewport if it has changed
            Insets insets = getInsets();

            int ax = x + insets.left;
            int ay = y + insets.bottom;
            int width = _width - insets.getHorizontal();
            int height = _height - insets.getVertical();

            if (updateDisplay || _cx != ax || _cy != ay || _cwidth != width || _cheight != height) {
                _cx = ax;
                _cy = ay;
                _cwidth = width;
                _cheight = height;
                float left = _cx / _swidth, right = left + _cwidth / _swidth;
                float bottom = _cy / _sheight;
                float top = bottom + _cheight / _sheight;
                _camera.setViewPort(left, right, bottom, top);
                _camera.setFrustumPerspective(45.0f, _width / (float) _height, 1, 1000);
            }

            // clear the z buffer over the area to which we will be drawing
            boolean scissored = intersectScissorBox(_srect, ax, ay, width, height);
            GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
            restoreScissorState(scissored, _srect);

            // now set up the custom camera and render our geometry
            renderer.setCamera(_camera);
            _camera.apply();
            _camera.update();
        }

        // actually render the geometry
        renderer.draw(_geom);
    } finally {
        if (!useOrtho) {
            // restore the camera
            renderer.setCamera(cam);
            cam.apply();
            cam.update();
            renderer.setOrtho();

            // we need to restore the GL translation as that got wiped out when we left and
            // re-entered ortho mode
            GL11.glTranslatef(x, y, 0);
        }
    }
}