List of usage examples for org.lwjgl.opengl GL11 glPopMatrix
public static native void glPopMatrix();
From source file:cn.academy.misc.client.render.RendererRaySimple.java
License:Open Source License
@Override protected void drawAtOrigin(T ent, double len, boolean firstPerson) { double width = firstPerson ? widthFp : widthTp; GL11.glPushMatrix();//from w w w . j av a 2 s . c o m { RenderUtils.loadTexture(tex); GL11.glTranslated(0, -width * 0.5, 0); rect.map.set(0, 0, len / width / ratio, 1); rect.setSize(len, width); drawer.draw(); } GL11.glPopMatrix(); }
From source file:cn.academy.misc.client.render.RendererRayTiling.java
License:Open Source License
@Override protected void drawAtOrigin(T ent, double len, boolean h) { //len = Math.min(len, 20.0); double width = h ? widthFp : widthTp; double forw = width * ratio; //per billboard forward in distance. int i = 0;//from w w w.java 2 s .co m //System.out.println("d-" + dist); for (double cur = 0.0; cur < len; cur += forw) { RenderUtils.loadTexture(nextTexture(ent, i)); int rotation = i % 2 == 0 ? 30 : 0; GL11.glPushMatrix(); { double u0 = 0.0, u1 = Math.min(1.0, (len - cur) / forw), v0 = 0.0, v1 = 1.0; double z0 = cur, z1 = Math.min(len, cur + forw); sv(verts[0], 0, -0.5 * width, z0); sv(verts[1], 0, 0.5 * width, z0); sv(verts[2], 0, 0.5 * width, z1); sv(verts[3], 0, -0.5 * width, z1); drawPerBillboard(ent, i); billboard(u0, v0, u1, v1); if (crossed) { GL11.glRotated(90, 0, 0, 1); billboard(u0, v0, u1, v1); } i++; } GL11.glPopMatrix(); } }
From source file:cn.academy.misc.client.render.RenderMarker.java
License:Open Source License
@Override public void doRender(Entity ent, double x, double y, double z, float a, float b) { EntityMarker marker = (EntityMarker) ent; Entity targ = marker.target;/*from w ww. ja v a2 s . c o m*/ double width = targ.width, height = targ.height; Tessellator t = Tessellator.instance; if (targ != null) { GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glPushMatrix(); GL11.glTranslated(x - width / 2, y, z - width / 2); GL11.glColor4d(marker.r, marker.g, marker.b, marker.a); for (int i = 0; i < 8; ++i) { GL11.glPushMatrix(); boolean rev = i < 4; double sx = width * mulArray[i][0], sy = height * mulArray[i][1], sz = width * mulArray[i][2]; final double len = 0.2 * width; GL11.glTranslated(sx, sy, sz); GL11.glRotated(rotArray[i], 0, 1, 0); GL11.glColor4d(marker.r, marker.g, marker.b, marker.a); GL11.glLineWidth(3f); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f); t.startDrawing(GL11.GL_LINES); t.setBrightness(15728880); t.addVertex(0, 0, 0); t.addVertex(0, rev ? len : -len, 0); t.addVertex(0, 0, 0); t.addVertex(len, 0, 0); t.addVertex(0, 0, 0); t.addVertex(0, 0, len); t.draw(); GL11.glPushMatrix(); GL11.glScaled(0.1, 0.1, 0.1); //ACModels.MDL_SOLAR.renderAll(); GL11.glPopMatrix(); GL11.glPopMatrix(); } GL11.glPopMatrix(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_LIGHTING); } }
From source file:cn.academy.terminal.client.TerminalUI.java
License:GNU General Public License
@Override public void draw(ScaledResolution sr) { //Frame update selection = (int) ((mouseY - 0.01) / MAX_MY * 3) * 3 + (int) ((mouseX - 0.01) / MAX_MX * 3); if (mouseY == 0) { mouseY = 1;/*from w ww . j a v a 2s . c o m*/ if (scroll > 0) scroll--; } if (mouseY == MAX_MY) { mouseY -= 1; if (scroll < getMaxScroll()) scroll++; } //Draw Minecraft mc = Minecraft.getMinecraft(); long time = GameTimer.getTime(); if (lastFrameTime == 0) lastFrameTime = time; long dt = time - lastFrameTime; mouseX += helper.dx * SENSITIVITY; mouseY -= helper.dy * SENSITIVITY; mouseX = Math.max(0, Math.min(MAX_MX, mouseX)); mouseY = Math.max(0, Math.min(MAX_MY, mouseY)); buffX = balance(dt, buffX, mouseX); buffY = balance(dt, buffY, mouseY); helper.dx = helper.dy = 0; GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glPushMatrix(); GL11.glLoadIdentity(); float aspect = (float) mc.displayWidth / mc.displayHeight; GLU.gluPerspective(50, aspect, 1f, 100); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glPushMatrix(); GL11.glLoadIdentity(); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColor4d(1, 1, 1, 1); double scale = 1.0 / 310; GL11.glTranslated(.35 * aspect, 1.2, -4); GL11.glTranslated(1, -1.8, 0); GL11.glRotated(-1.6, 0, 0, 1); GL11.glRotated(-18 - 4 * (buffX / MAX_MX - 0.5) + 1 * Math.sin(time / 1000.0), 0, 1, 0); GL11.glRotated(7 + 4 * (buffY / MAX_MY - 0.5), 1, 0, 0); //DEBUG CODE // GL11.glPointSize(20); // GL11.glColor4d(1, 1, 1, 1); // GL11.glDisable(GL11.GL_TEXTURE_2D); // GL11.glBegin(GL11.GL_POINTS); // GL11.glVertex3f(0, 0, 0); // GL11.glEnd(); // GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glTranslated(-1, 1.8, 0); GL11.glScaled(scale, -scale, scale); gui.draw(mouseX, mouseY); { GL11.glPushMatrix(); double csize = (getSelectedApp() == null ? 1 : 1.3) * (20 + Math.sin(time / 300.0) * 2); RenderUtils.loadTexture(CURSOR); GL11.glColor4d(1, 1, 1, .4); GL11.glTranslated(0, 0, -2); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); HudUtils.rect(-csize / 2 + buffX, -csize / 2 + buffY + 120, csize, csize); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glPopMatrix(); } GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glCullFace(GL11.GL_BACK); }
From source file:cn.academy.vanilla.electromaster.client.effect.CurrentChargingHUD.java
License:GNU General Public License
@Override public void draw(ScaledResolution sr) { double width = sr.getScaledWidth_double(), height = sr.getScaledHeight_double(); GL11.glDisable(GL11.GL_ALPHA_TEST);// w w w . ja v a 2s . co m arcHandler.xScale = width / 2; arcHandler.yScale = height / 2; double mAlpha; if (isBlendingOut()) { mAlpha = 1 - (double) (GameTimer.getTime() - blendTime) / BLEND_OUT_TIME; if (mAlpha < 0) mAlpha = 0; } else { mAlpha = Math.min((double) this.getTimeActive() / BLEND_TIME, 1.0); } /* Black Mask */ { GL11.glColor4d(0, 0, 0, 0.1 * mAlpha); HudUtils.colorRect(0, 0, width, height); GL11.glColor4d(1, 1, 1, 1); } /* Blue Mask */ { GL11.glColor4d(1, 1, 1, 1 * mAlpha); RenderUtils.loadTexture(mask); HudUtils.rect(0, 0, width, height); } /* SubArc */ { GL11.glColor4d(1, 1, 1, isBlendingOut() ? 0.4 : 0.3); GL11.glPushMatrix(); GL11.glTranslated(width / 2, height / 2, 0); arcHandler.drawAll(); GL11.glPopMatrix(); } if (isBlendingOut() && GameTimer.getTime() - blendTime > 1000) dispose(); }
From source file:cn.academy.vanilla.electromaster.client.effect.SubArcHandler.java
License:GNU General Public License
public void drawAll() { Iterator<SubArc> iter = list.iterator(); GL11.glDepthMask(false);// www. j ava 2 s. c om while (iter.hasNext()) { SubArc arc = iter.next(); if (!arc.dead && arc.draw) { GL11.glPushMatrix(); RenderUtils.glTranslate(arc.pos); GL11.glRotated(arc.rotZ, 0, 0, 1); GL11.glRotated(arc.rotY, 0, 1, 0); GL11.glRotated(arc.rotX, 1, 0, 0); final double scale = 0.3; GL11.glScaled(scale, scale, scale); GL11.glTranslated(-arcs[arc.texID].length / 2, 0, 0); arcs[arc.texID].draw(); GL11.glPopMatrix(); } } GL11.glDepthMask(true); }
From source file:cn.academy.vanilla.electromaster.client.effect.SubArcHandler2D.java
License:GNU General Public License
public void drawAll() { Iterator<SubArc2D> iter = list.iterator(); GL11.glDepthMask(false);/*w ww.j a va 2s. c o m*/ GL11.glPushMatrix(); while (iter.hasNext()) { SubArc2D arc = iter.next(); if (!arc.dead && arc.draw) { GL11.glPushMatrix(); GL11.glTranslated(xScale * arc.x - arc.size / 2, yScale * arc.y - arc.size / 2, 0); RenderUtils.loadTexture(arcs[arc.texID]); HudUtils.rect(0, 0, arc.size, arc.size); GL11.glPopMatrix(); } } GL11.glPopMatrix(); GL11.glDepthMask(true); }
From source file:cn.academy.vanilla.electromaster.client.renderer.RendererCoinThrowing.java
License:GNU General Public License
@Override public void doRender(Entity var1, double x, double y, double z, float var8, float var9) { EntityCoinThrowing etc = (EntityCoinThrowing) var1; EntityPlayer player = etc.player;//from w w w . j av a 2 s .co m boolean fp = player == Minecraft.getMinecraft().thePlayer && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0; double dt = GameTimer.getTime() % 150; if (etc.player == null) return; //If syncedSingle and in client computer, do not render if (etc.isSync && player == Minecraft.getMinecraft().thePlayer) return; if (etc.posY < player.posY) return; GL11.glPushMatrix(); { //x = player.posX - RenderManager.renderPosX; //y = etc.posY - RenderManager.renderPosY; //z = player.posZ - RenderManager.renderPosZ; if (player == Minecraft.getMinecraft().thePlayer) { x = z = 0; } GL11.glTranslated(x, y, z); if (fp) { GL11.glRotated(player.rotationYaw, 0, -1, 0); } else GL11.glRotated(player.renderYawOffset, 0, -1, 0); GL11.glTranslated(-0.63, -0.60, 0.30); float scale = 0.3F; GL11.glScalef(scale, scale, scale); GL11.glTranslated(0.5, 0.5, 0); GL11.glRotated((dt * 360.0 / 300.0), etc.axis.xCoord, etc.axis.yCoord, etc.axis.zCoord); GL11.glTranslated(-0.5, -0.5, 0); RenderUtils.drawEquippedItem(0.0625, Resources.TEX_COIN_FRONT, Resources.TEX_COIN_BACK); } GL11.glPopMatrix(); }
From source file:cn.academy.vanilla.electromaster.client.renderer.RendererMagHook.java
License:GNU General Public License
@Override public void doRender(Entity ent, double x, double y, double z, float a, float b) { EntityMagHook hook = (EntityMagHook) ent; IModelCustom realModel = model;// w w w . j a v a2 s .c om if (hook.isHit) { realModel = model_open; hook.preRender(); x = hook.posX - RenderManager.renderPosX; y = hook.posY - RenderManager.renderPosY; z = hook.posZ - RenderManager.renderPosZ; } GL11.glPushMatrix(); RenderUtils.loadTexture(texture); GL11.glTranslated(x, y, z); GL11.glRotated(-hook.rotationYaw + 90, 0, 1, 0); GL11.glRotated(hook.rotationPitch - 90, 0, 0, 1); double scale = 0.0054; GL11.glScaled(scale, scale, scale); realModel.renderAll(); GL11.glPopMatrix(); }
From source file:cn.academy.vanilla.generic.client.render.RippleMarkRender.java
License:GNU General Public License
@Override public void doRender(Entity entity, double x, double y, double z, float a, float b) { EntityRippleMark mark = (EntityRippleMark) entity; long dt = GameTimer.getTime() - mark.creationTime; GL11.glDisable(GL11.GL_CULL_FACE);// ww w.j ava2s . co m GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glAlphaFunc(GL11.GL_GREATER, 0); GL11.glDepthMask(false); GL11.glPushMatrix(); GL11.glTranslated(x, y, z); for (int i = 0; i < timeOffsets.length; ++i) { GL11.glPushMatrix(); long mod = (dt - timeOffsets[i]) % CYCLE; float size = getSize(mod); GL11.glTranslatef(0, getHeight(mod), 0); GL11.glScalef(size, 1, size); material.color = mark.color.copy(); material.color.a *= getAlpha(mod); mesh.draw(material); GL11.glPopMatrix(); } GL11.glPopMatrix(); GL11.glDepthMask(true); GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1f); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_DEPTH_TEST); }