private void renderMenuBlock(Block block, float f, RenderBlocks renderblocks) { int i = block.getRenderType(); renderblocks.setRenderBoundsFromBlock(block); Tessellator tessellator = Tessellator.instance; if (i == 0) { block.setBlockBoundsForItemRender(); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); float f1 = 0.5F; float f2 = 1.0F; float f3 = 0.8F; float f4 = 0.6F; tessellator.startDrawingQuads(); tessellator.setColorRGBA_F(f2, f2, f2, f); renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(0)); tessellator.setColorRGBA_F(f1, f1, f1, f); renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(1)); tessellator.setColorRGBA_F(f3, f3, f3, f); renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(2)); renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(3)); tessellator.setColorRGBA_F(f4, f4, f4, f); renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(4)); renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(5)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } }
/** Renders the skybox in the main menu */ private void renderSkybox(int par1, int par2, float par3) { GL11.glViewport(0, 0, 256, 256); drawPanorama(par1, par2, par3); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); GL11.glViewport(0, 0, mc.displayWidth, mc.displayHeight); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); float f = width <= height ? 120F / (float) height : 120F / (float) width; float f1 = ((float) height * f) / 256F; float f2 = ((float) width * f) / 256F; GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F); int i = width; int j = height; tessellator.addVertexWithUV(0.0D, j, zLevel, 0.5F - f1, 0.5F + f2); tessellator.addVertexWithUV(i, j, zLevel, 0.5F - f1, 0.5F - f2); tessellator.addVertexWithUV(i, 0.0D, zLevel, 0.5F + f1, 0.5F - f2); tessellator.addVertexWithUV(0.0D, 0.0D, zLevel, 0.5F + f1, 0.5F + f2); tessellator.draw(); }
/** Rotate and blurs the skybox view in the main menu */ private void rotateAndBlurSkybox(float par1) { mc.func_110434_K().func_110577_a(field_110351_G); GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColorMask(true, true, true, false); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); byte byte0 = 3; for (int i = 0; i < byte0; i++) { tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float) (i + 1)); int j = width; int k = height; float f = (float) (i - byte0 / 2) / 256F; tessellator.addVertexWithUV(j, k, zLevel, 0.0F + f, 0.0D); tessellator.addVertexWithUV(j, 0.0D, zLevel, 1.0F + f, 0.0D); tessellator.addVertexWithUV(0.0D, 0.0D, zLevel, 1.0F + f, 1.0D); tessellator.addVertexWithUV(0.0D, k, zLevel, 0.0F + f, 1.0D); } tessellator.draw(); GL11.glColorMask(true, true, true, true); }