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:cn.lambdacraft.mob.client.renderer.RenderTurret.java

License:Open Source License

@Override
public void doRender(Entity entity, double par2, double par4, double par6, float par8, float f1) {
    EntitySentry turret = (EntitySentry) entity;
    GL11.glPushMatrix();/*from   w ww .ja  v  a  2s.  com*/
    GL11.glDisable(GL11.GL_CULL_FACE);
    RenderUtils.loadTexture(ClientProps.TURRET_PATH);
    super.doRender(entity, par2, par4, par6, par8, f1);
    GL11.glTranslatef((float) par2, (float) par4 + turret.height - turret.deathTime * 0.06F, (float) par6);
    GL11.glScalef(-1.0F, -1.0F, 1.0F);
    if (turret.hurtResistantTime > 15)
        GL11.glColor3f(1.0F, 0.3F, 0.3F);
    GL11.glRotatef(turret.deathTime * 3, 1.0F, 0.2F, -1.0F);
    GL11.glRotatef(180.0F - turret.rotationYawHead, 0.0F, 1.0F, 0.0F);
    model.renderTop(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glPopMatrix();
}

From source file:cn.lambdacraft.mob.client.renderer.RenderVortigauntRay.java

License:Open Source License

@Override
public void doRender(Entity entity, double d0, double d1, double d2, float f, float f1) {
    EntityVortigauntRay ray = (EntityVortigauntRay) entity;

    Tessellator tessellator = Tessellator.instance;

    GL11.glPushMatrix();//from   ww w . j  a v a 2s .  c  o m

    double dx = ray.destX - ray.startX;
    double dy = ray.destY - ray.startY;
    double dz = ray.destZ - ray.startZ;
    double d = Math.sqrt(dx * dx + dy * dy + dz * dz);
    float angle = ray.ticksExisted;
    double tx = 0.0, tz = 0.0;
    double ty = -0.63;

    Vec3 v1 = RenderUtils.newV3(0, 0, -WIDTH), v2 = RenderUtils.newV3(0, 0, WIDTH),

            v5 = RenderUtils.newV3(0, WIDTH, 0), v6 = RenderUtils.newV3(0, -WIDTH, 0);

    // Translations and rotations
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glDisable(GL11.GL_CULL_FACE);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    GL11.glTranslatef((float) d0, (float) d1, (float) d2);
    // GL11.glRotatef(angle, 1.0F, 0, 0);
    int rand = RenderUtils.rand.nextInt(3);
    Minecraft.getMinecraft().renderEngine.bindTexture(ClientProps.VORTIGAUNT_RAY_PATH[rand]);

    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f);
    tessellator.startDrawingQuads();
    tessellator.setBrightness(15728880);
    tessellator.setColorRGBA(50, 200, 50, 200);

    RenderUtils.addVertex(v1.addVector(tx, ty, tz), 0, 0);
    RenderUtils.addVertex(v2.addVector(tx, ty, tz), 1, 0);
    RenderUtils.addVertex(v2.addVector(dx, dy, dz), 1, d);
    RenderUtils.addVertex(v1.addVector(dx, dy, dz), 0, d);

    RenderUtils.addVertex(v5.addVector(tx, ty, tz), 0, d);
    RenderUtils.addVertex(v6.addVector(tx, ty, tz), 1, d);
    RenderUtils.addVertex(v6.addVector(dx, dy, dz), 1, 0);
    RenderUtils.addVertex(v5.addVector(dx, dy, dz), 0, 0);

    tessellator.draw();

    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glPopMatrix();
}

From source file:cn.lambdacraft.terrain.client.model.ModelXenAmethyst.java

License:Open Source License

@Override
public void render(TileEntity is, double x, double y, double z, float f1, float scale, float f) {
    GL11.glPushMatrix();/*from   ww w.jav a 2 s.  com*/
    //      GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5);
    GL11.glTranslated(x + 0.5, y + 1.6, z + 0.5);
    GL11.glScalef(-1.0F, -1.0F, 1.0F);
    RenderUtils.loadTexture(ClientProps.AMETHYST_PATH);
    Shape1.render(scale);
    Shape2.render(scale);
    Shape3.render(scale);
    GL11.glPopMatrix();
}

From source file:cn.lambdacraft.terrain.client.model.ModelXenLight.java

License:Open Source License

@Override
public void render(TileEntity is, double x, double y, double z, float f1, float scale, float f) {
    TileEntityXenLight tile = (TileEntityXenLight) is;
    GL11.glPushMatrix();/* ww  w.  j  a  v  a2  s .  c  o m*/
    GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5);
    GL11.glScalef(-1.0F, -1.0F, 1.0F);
    RenderUtils.loadTexture(ClientProps.XENLIGHT_PATH);
    Shape1.render(scale);
    //~
    GL11.glRotated(12.5 * MathHelper.sin(tile.ticksExisted * 0.07F), 0.1, 1, -0.1);
    if (tile.isLighting) {
        if (tile.tickSinceChange < 15)
            GL11.glTranslatef(0.0F, 0.0166F * (15 - tile.tickSinceChange), 0.0F);
    } else {
        if (tile.tickSinceChange < 5)
            GL11.glTranslatef(0.0F, 0.05F * tile.tickSinceChange, 0.0F);
        else
            GL11.glTranslatef(0.0F, 0.25F, 0.0F);
    }
    Shape2.render(scale);
    Shape3.render(scale);
    GL11.glPopMatrix();
}

From source file:cn.lambdacraft.terrain.client.renderer.RenderTileXenAmethyst.java

License:Open Source License

@Override
public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f) {
    TileEntityXenAmethyst amethyst = (TileEntityXenAmethyst) tileentity;
    GL11.glPushMatrix();//from  w  w  w  .  jav  a 2s .  co m
    if (amethyst.ticksSinceLastAtack < 10) {
        renderRay(amethyst, Tessellator.instance, d0, d1, d2);
    }
    super.renderTileEntityAt(tileentity, d0, d1, d2, f);
    GL11.glPopMatrix();
}

From source file:cn.lambdacraft.terrain.client.renderer.RenderTileXenAmethyst.java

License:Open Source License

/**
 * Render the Amethyst ray//from   w  w w  .j  a  v a  2s .c o  m
 * @param ent
 * @param t
 * @param x
 * @param y
 * @param z
 */
private void renderRay(TileEntityXenAmethyst ent, Tessellator t, double x, double y, double z) {
    double dx = ent.lastxCoord, dy = ent.lastyCoord, dz = ent.lastzCoord;
    //       double tx = 0.0, ty = 0.4, tz = 0.0;
    double tx = 0.5, ty = 0.2, tz = 0.5;
    GL11.glPushMatrix();
    GL11.glDisable(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);
    RenderUtils.loadTexture(ClientProps.VORTIGAUNT_RAY_PATH[rng.nextInt(3)]);

    Vec3 v1 = RenderUtils.newV3(tx - WIDTH, ty, tz), v2 = RenderUtils.newV3(tx + WIDTH, ty, tz),
            v3 = RenderUtils.newV3(tx, ty - WIDTH, tz), v4 = RenderUtils.newV3(tx, ty + WIDTH, tz);
    double d = Math.sqrt(dx * dx + dy * dy + dz * dz) * 1.3;

    GL11.glTranslated(x, y, z);

    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f);
    t.startDrawingQuads();
    t.setBrightness(15728880);
    t.setColorRGBA_F(0.663F, 0.263F, 1.0F, 0.65F);
    RenderUtils.addVertex(v1, 0, 0);
    RenderUtils.addVertex(v2, 1, 0);
    RenderUtils.addVertex(v2.addVector(dx, dy, dz), 1, d);
    RenderUtils.addVertex(v1.addVector(dx, dy, dz), 0, d);

    RenderUtils.addVertex(v3, 0, 0);
    RenderUtils.addVertex(v4, 1, 0);
    RenderUtils.addVertex(v4.addVector(dx, dy, dz), 1, d);
    RenderUtils.addVertex(v3.addVector(dx, dy, dz), 0, d);
    t.draw();

    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glPopMatrix();

}

From source file:cn.lambdalib.cgui.gui.CGui.java

License:MIT License

private void drawTraverse(double mx, double my, Widget cur, WidgetContainer set, Widget top) {
    try {/*from   w ww. ja  va2s  . co m*/
        if (cur != null && cur.isVisible()) {
            GL11.glPushMatrix();
            GL11.glTranslated(cur.x, cur.y, 0);

            GL11.glDepthFunc(GL11.GL_LEQUAL);
            GL11.glScaled(cur.scale, cur.scale, 1);
            GL11.glTranslated(-cur.transform.pivotX, -cur.transform.pivotY, 0);

            GL11.glColor4d(1, 1, 1, 1); //Force restore color for any widget
            cur.post(new FrameEvent((mx - cur.x) / cur.scale, (my - cur.y) / cur.scale, cur == top));
            GL11.glPopMatrix();
        }
    } catch (Exception e) {
        LambdaLib.log.error("Error occured handling widget draw. instance class: " + cur.getClass().getName()
                + ", name: " + cur.getName());
        e.printStackTrace();
    }

    if (cur == null || cur.isVisible()) {
        Iterator<Widget> iter = set.iterator();
        while (iter.hasNext()) {
            Widget wn = iter.next();
            drawTraverse(mx, my, wn, wn, top);
        }
    }
}

From source file:cn.lambdalib.cgui.gui.CGuiScreen.java

License:MIT License

@Override
public void drawScreen(int mx, int my, float w) {
    gui.resize(width, height);/*from  w w  w .j a  v a 2s. c  o m*/
    if (drawBack)
        this.drawDefaultBackground();
    GL11.glPushMatrix();
    {
        gui.draw(mx, my);
    }
    GL11.glPopMatrix();
}

From source file:cn.lambdalib.multiblock.RenderBlockMulti.java

License:MIT License

@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
    if (!(te.getBlockType() instanceof BlockMulti))
        return;//from   ww  w .  j  av  a  2 s  .  c  om

    BlockMulti bm = (BlockMulti) te.getBlockType();
    InfoBlockMulti inf = ((IMultiTile) te).getBlockInfo();

    if (inf == null || !inf.isLoaded() || inf.subID != 0)
        return;
    GL11.glPushMatrix();
    double[] off = bm.getPivotOffset(inf);
    double[] off2 = bm.rotCenters[inf.dir.ordinal()];
    GL11.glTranslated(x + off[0] + off2[0], y + 0 + off2[1], z + off[1] + off2[2]);
    // GL11.glTranslated(x, y, z);
    GL11.glRotated(bm.getRotation(inf), 0, 1, 0);
    drawAtOrigin(te);
    GL11.glPopMatrix();
}

From source file:cn.lambdalib.particle.RenderParticle.java

License:MIT License

@Override
public void doRender(Entity ent, double x, double y, double z, float a, float b) {
    if (RenderUtils.isInShadowPass())
        return;//from  www .j  a  va2s.  c  o m

    Particle ish = (Particle) ent;
    if (!ish.updated)
        return;

    ish.updateSprite(sprite);

    GL11.glAlphaFunc(GL11.GL_GREATER, 0.05f);
    GL11.glPushMatrix();

    if (ish.needViewOptimize()) {
        GL11.glTranslated(0, -0.2, 0);
    }

    GL11.glTranslated(x, y, z);
    if (ish.customRotation) {
        GL11.glRotatef(ish.rotationYaw, 0, 1, 0);
        GL11.glRotatef(ish.rotationPitch, 0, 0, 1);
    } else {
        GL11.glRotatef(180F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
        GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
    }

    sprite.draw();

    GL11.glPopMatrix();
    GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1f);
}