List of usage examples for org.lwjgl.opengl GL11 glPushAttrib
public static native void glPushAttrib(@NativeType("GLbitfield") int mask);
From source file:hellfirepvp.astralsorcery.client.gui.container.GuiAltarTrait.java
License:Open Source License
@Override public void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { AbstractAltarRecipe rec = findCraftableRecipe(); if (rec != null) { ItemStack out = rec.getOutputForRender(); zLevel = 10F;//from www .ja v a2 s .c o m itemRender.zLevel = 10F; RenderHelper.enableGUIStandardItemLighting(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix(); GL11.glTranslated(190, 35, 0); GL11.glScaled(2.5, 2.5, 2.5); itemRender.renderItemAndEffectIntoGUI(mc.player, out, 0, 0); itemRender.renderItemOverlayIntoGUI(fontRenderer, out, 0, 0, null); GL11.glPopMatrix(); GL11.glPopAttrib(); zLevel = 0F; itemRender.zLevel = 0F; TextureHelper.refreshTextureBindState(); } float pTicks = Minecraft.getMinecraft().getRenderPartialTicks(); RenderAstralSkybox.TEX_STAR_1.bind(); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_BLEND); Blending.DEFAULT.apply(); rand.setSeed(0x889582997FF29A92L); for (int i = 0; i < 16; i++) { int x = rand.nextInt(54); int y = rand.nextInt(54); GL11.glPushMatrix(); float brightness = 0.3F + (RenderConstellation.stdFlicker(Minecraft.getMinecraft().world.getWorldTime(), pTicks, 10 + rand.nextInt(20))) * 0.6F; GL11.glColor4f(brightness, brightness, brightness, brightness); drawRect(15 + x, 39 + y, 5, 5); GL11.glColor4f(1, 1, 1, 1); GL11.glPopMatrix(); } GL11.glPopAttrib(); TextureHelper.refreshTextureBindState(); IConstellation c = containerAltarBase.tileAltar.getFocusedConstellation(); if (c != null && containerAltarBase.tileAltar.getMultiblockState() && ResearchManager.clientProgress.hasConstellationDiscovered(c.getUnlocalizedName())) { rand.setSeed(0x61FF25A5B7C24109L); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix(); GL11.glColor4f(1F, 1F, 1F, 1F); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_BLEND); Blending.DEFAULT.apply(); RenderConstellation.renderConstellationIntoGUI(c, 16, 41, zLevel, 58, 58, 2, new RenderConstellation.BrightnessFunction() { @Override public float getBrightness() { return RenderConstellation.conCFlicker( Minecraft.getMinecraft().world.getTotalWorldTime(), pTicks, 5 + rand.nextInt(5)); } }, true, false); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glPopMatrix(); GL11.glPopAttrib(); } TextureHelper.setActiveTextureToAtlasSprite(); TextureHelper.refreshTextureBindState(); }
From source file:hellfirepvp.astralsorcery.client.gui.container.GuiAltarTrait.java
License:Open Source License
@Override public void renderGuiBackground(float partialTicks, int mouseX, int mouseY) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix();/*from ww w .ja va 2 s . co m*/ GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); float percFilled; if (containerAltarBase.tileAltar.getMultiblockState()) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); percFilled = containerAltarBase.tileAltar.getAmbientStarlightPercent(); } else { GL11.glColor4f(1.0F, 0F, 0F, 1.0F); percFilled = 1.0F; } texBlack.bind(); drawRect(guiLeft + 11, guiTop + 104, 232, 10); if (percFilled > 0) { SpriteSheetResource spriteStarlight = SpriteLibrary.spriteStarlight; spriteStarlight.getResource().bind(); int t = containerAltarBase.tileAltar.getTicksExisted(); Tuple<Double, Double> uvOffset = spriteStarlight.getUVOffset(t); drawRect(guiLeft + 11, guiTop + 104, (int) (232 * percFilled), 10, uvOffset.key, uvOffset.value, spriteStarlight.getULength() * percFilled, spriteStarlight.getVLength()); AbstractAltarRecipe aar = findCraftableRecipe(true); if (aar != null) { int req = aar.getPassiveStarlightRequired(); int has = containerAltarBase.tileAltar.getStarlightStored(); if (has < req) { int max = containerAltarBase.tileAltar.getMaxStarlightStorage(); float percReq = (float) (req - has) / (float) max; int from = (int) (232 * percFilled); int to = (int) (232 * percReq); GL11.glColor4f(0.2F, 0.5F, 1.0F, 0.4F); drawRect(guiLeft + 11 + from, guiTop + 104, to, 10, uvOffset.key + spriteStarlight.getULength() * percFilled, uvOffset.value, spriteStarlight.getULength() * percReq, spriteStarlight.getVLength()); } } } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); texAltarTrait.bind(); drawRect(guiLeft, guiTop, xSize, ySize); GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiConstellationPaper.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { //ofr.font_size_multiplicator = 0.08F; GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix();/*from w ww . j a va 2 s. co m*/ drawScroll(); drawHeader(); drawConstellation(partialTicks); drawPhaseInformation(); GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiHandTelescope.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix();//w w w . ja v a2 s .c o m GL11.glEnable(GL11.GL_BLEND); drawWHRect(textureGrid); TextureHelper.refreshTextureBindState(); handleMouseMovement(partialTicks); World w = Minecraft.getMinecraft().world; float pitch = Minecraft.getMinecraft().player.rotationPitch; float transparency = 0F; if (pitch < -60F) { transparency = 1F; } else if (pitch < -10F) { transparency = (Math.abs(pitch) - 10F) / 50F; if (ConstellationSkyHandler.getInstance().isNight(w)) { transparency *= transparency; } } boolean canSeeSky = canTelescopeSeeSky(w); if (usedStars.isEmpty()) { Optional<Long> currSeed = ConstellationSkyHandler.getInstance() .getSeedIfPresent(Minecraft.getMinecraft().world); if (currSeed.isPresent()) { setupInitialStars(currSeed.get()); zLevel -= 5; drawCellWithEffects(partialTicks, canSeeSky, transparency); zLevel += 5; } } else { zLevel -= 5; drawCellWithEffects(partialTicks, canSeeSky, transparency); zLevel += 5; } TextureHelper.refreshTextureBindState(); GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiHandTelescope.java
License:Open Source License
private Optional<Map<StarLocation, Rectangle>> drawCellEffect(int offsetX, int offsetY, int width, int height, float partialTicks, float transparency) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glEnable(GL11.GL_BLEND);// www .j a va 2 s .c o m Blending.DEFAULT.apply(); GL11.glDisable(GL11.GL_ALPHA_TEST); WorldSkyHandler handle = ConstellationSkyHandler.getInstance() .getWorldHandler(Minecraft.getMinecraft().world); int lastTracked = handle == null ? 5 : handle.lastRecordedDay; Random r = new Random(); RenderAstralSkybox.TEX_STAR_1.bind(); for (StarPosition stars : usedStars) { r.setSeed(stars.seed); GL11.glPushMatrix(); float brightness = 0.3F + (RenderConstellation.stdFlicker(ClientScheduler.getClientTick(), partialTicks, 10 + r.nextInt(20))) * 0.6F; brightness *= Minecraft.getMinecraft().world.getStarBrightness(partialTicks) * 2 * transparency; brightness *= (1F - Minecraft.getMinecraft().world.getRainStrength(partialTicks)); GL11.glColor4f(brightness, brightness, brightness, brightness); drawRect(MathHelper.floor(offsetX + stars.x), MathHelper.floor(offsetY + stars.y), 5, 5); GL11.glColor4f(1, 1, 1, 1); GL11.glPopMatrix(); } r.setSeed(lastTracked * 31); Map<StarLocation, Rectangle> rectangles = null; if (topFound != null) { zLevel += 1; float playerYaw = Minecraft.getMinecraft().player.rotationYaw % 360F; if (playerYaw < 0) { playerYaw += 360F; } if (playerYaw >= 180F) { playerYaw -= 360F; } float playerPitch = Minecraft.getMinecraft().player.rotationPitch; float diffYaw = playerYaw - selectedYaw; float diffPitch = playerPitch - selectedPitch; float sFactor = 35F; if ((Math.abs(diffYaw) <= sFactor || Math.abs(playerYaw + 360F) <= sFactor) && Math.abs(diffPitch) <= sFactor) { ScaledResolution res = new ScaledResolution(mc); GL11.glEnable(GL11.GL_SCISSOR_TEST); GL11.glScissor((guiLeft + 5) * res.getScaleFactor(), (guiTop + 5) * res.getScaleFactor(), (guiWidth - 10) * res.getScaleFactor(), (guiHeight - 10) * res.getScaleFactor()); int wPart = ((int) (((float) width) * 0.1F)); int hPart = ((int) (((float) height) * 0.1F)); rectangles = RenderConstellation.renderConstellationIntoGUI(topFound, offsetX + wPart + MathHelper.floor((diffYaw / sFactor) * width), offsetY + hPart + MathHelper.floor((diffPitch / sFactor) * height), zLevel, width - (((int) (wPart * 1.5F))), height - (((int) (hPart * 1.5F))), 2, new RenderConstellation.BrightnessFunction() { @Override public float getBrightness() { return (0.3F + 0.7F * RenderConstellation.conCFlicker(ClientScheduler.getClientTick(), partialTicks, 5 + r.nextInt(15))) * transparency; } }, ResearchManager.clientProgress.hasConstellationDiscovered(topFound.getUnlocalizedName()), true); GL11.glDisable(GL11.GL_SCISSOR_TEST); } zLevel -= 1; } GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glDisable(GL11.GL_BLEND); GL11.glPopAttrib(); return Optional.ofNullable(rectangles); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiHandTelescope.java
License:Open Source License
private void drawGridBackground(float partialTicks, boolean canSeeSky, float angleTransparency) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); Blending.PREALPHA.apply();/*from w w w . j av a 2s . c o m*/ World renderWorld = Minecraft.getMinecraft().world; int rgbFrom, rgbTo; if (canSeeSky && angleTransparency > 1.0E-4) { float starBr = renderWorld.getStarBrightness(partialTicks) * 2; float rain = renderWorld.getRainStrength(partialTicks); rgbFrom = RenderingUtils .clampToColorWithMultiplier(calcRGBFromWithRain(starBr, rain), angleTransparency).getRGB(); rgbTo = RenderingUtils.clampToColorWithMultiplier(calcRGBToWithRain(starBr, rain), angleTransparency) .getRGB(); } else { rgbFrom = 0x000000; rgbTo = 0x000000; } int alphaMask = 0xFF000000; //100% opacity. RenderingUtils.drawGradientRect(guiLeft + 4, guiTop + 4, zLevel, guiLeft + guiWidth - 4, guiTop + guiHeight - 4, new Color(alphaMask | rgbFrom), new Color(alphaMask | rgbTo)); Blending.DEFAULT.apply(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiJournalConstellationCluster.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix();//from ww w .j a v a 2 s . c o m GL11.glEnable(GL11.GL_BLEND); drawDefault(textureResBlank); zLevel += 250; drawNavArrows(partialTicks); //fRend.zLevel = zLevel; //fRend.font_size_multiplicator = 0.07F; drawTitle(); rectCRenderMap.clear(); drawConstellations(); zLevel -= 250; GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiJournalConstellationDetails.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix();/*from w w w . j a va 2 s .c o m*/ GL11.glEnable(GL11.GL_BLEND); drawDefault(textureResBlank); zLevel += 150; drawBackArrow(partialTicks); drawConstellation(); drawPhaseInformation(); drawExtendedInformation(); zLevel -= 150; GL11.glColor4f(1F, 1F, 1F, 1F); GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiJournalPerkMap.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.thisFramePerks.clear(); Rectangle rectHover = new Rectangle(guiLeft + 10, guiTop + 5, guiWidth - 20, guiHeight - 10); if (rectHover.contains(mouseX, mouseY)) { mouseHoverPerc = Math.min(1F, mouseHoverPerc + mouseHoverMerge); } else {/*from w ww . java2s . co m*/ mouseHoverPerc = Math.max(0F, mouseHoverPerc - mouseHoverMerge); } GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); Blending.DEFAULT.apply(); GL11.glColor4f(1F, 1F, 1F, 1F); TextureHelper.refreshTextureBindState(); drawDefault(textureResShell); drawBaseBackground(zLevel - 50); if (mapToDisplay != null) { drawPerkMap(mapToDisplay, new Point(mouseX, mouseY)); } if (attunedConstellation != null) { drawOverlayTexture(attunedConstellation); } drawUnlockEffects(); TextureHelper.refreshTextureBindState(); GL11.glPopMatrix(); GL11.glPopAttrib(); }
From source file:hellfirepvp.astralsorcery.client.gui.GuiJournalProgression.java
License:Open Source License
@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { GL11.glPushMatrix();// w w w .j a v a 2s .c o m GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); int cleanedX = mouseX - guiLeft; int cleanedY = mouseY - guiTop; if (Mouse.isButtonDown(0) && progressionRenderer.realRenderBox.isInBox(cleanedX, cleanedY)) { if (dragging) { progressionRenderer.moveMouse(-(cleanedX - bufX), -(cleanedY - bufY)); } else { bufX = cleanedX; bufY = cleanedY; dragging = true; } } else { progressionRenderer.applyMovedMouseOffset(); dragging = false; } //Zooming stuff. int dWheelChange = Mouse.getDWheel(); if (dWheelChange < 0) { progressionRenderer.handleZoomOut(); } if (dWheelChange > 0) { progressionRenderer.handleZoomIn(); } ScaledResolution res = new ScaledResolution(mc); GL11.glEnable(GL11.GL_SCISSOR_TEST); GL11.glScissor((guiLeft + 27) * res.getScaleFactor(), (guiTop + 27) * res.getScaleFactor(), (guiWidth - 54) * res.getScaleFactor(), (guiHeight - 54) * res.getScaleFactor()); progressionRenderer.drawProgressionPart(zLevel); GL11.glDisable(GL11.GL_SCISSOR_TEST); drawDefault(textureResShell); Rectangle guiStar = null; if (!ResearchManager.clientProgress.wasOnceAttuned()) { GL11.glDisable(GL11.GL_DEPTH_TEST); guiStar = IGuiRenderablePage.GUI_INTERFACE.drawInfoStar(guiLeft + guiWidth - 39, guiTop + 23, zLevel, 15, partialTicks); GL11.glEnable(GL11.GL_DEPTH_TEST); } zLevel += 150; drawMouseHighlight(zLevel, getCurrentMousePoint(), guiStar); zLevel -= 150; GL11.glPopAttrib(); GL11.glPopMatrix(); }