List of usage examples for org.lwjgl.opengl GL11 glRotatef
public static native void glRotatef(@NativeType("GLfloat") float angle, @NativeType("GLfloat") float x, @NativeType("GLfloat") float y, @NativeType("GLfloat") float z);
From source file:com.pahimar.ee3.client.renderer.item.ItemEnergyCondenserRenderer.java
License:LGPL
private void renderEnergyCondenser(float x, float y, float z) { FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ENERGY_CONDENSER); GL11.glPushMatrix(); //start GL11.glTranslatef(x, y, z); //size GL11.glRotatef(180, 1, 0, 0); GL11.glRotatef(-90, 0, 1, 0);//from w w w.j ava 2 s.c om modelChest.renderAll(); GL11.glPopMatrix(); //end }
From source file:com.pahimar.ee3.client.renderer.item.ItemGlassBellRenderer.java
License:LGPL
private void renderGlassBell(float x, float y, float z, float scale) { GL11.glPushMatrix();//from w ww . j a v a2 s . co m GL11.glDisable(GL11.GL_LIGHTING); // Scale, Translate, Rotate GL11.glScalef(scale, scale, scale); GL11.glTranslatef(x, y, z); GL11.glRotatef(-90F, 1F, 0, 0); // Bind texture FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_GLASS_BELL); // Render modelGlassBell.render(); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); }
From source file:com.pahimar.ee3.client.renderer.RenderUtils.java
License:LGPL
public static void renderRotatingBlockIntoGUI(FontRenderer fontRenderer, RenderEngine renderEngine, ItemStack stack, int x, int y, float zLevel, float scale) { RenderBlocks renderBlocks = new RenderBlocks(); Block block = Block.blocksList[stack.itemID]; renderEngine.bindTexture(Textures.VANILLA_BLOCK_TEXTURE_SHEET); GL11.glPushMatrix();// w ww . j a v a2s. c om GL11.glTranslatef(x - 2, y + 3, -3.0F + zLevel); GL11.glScalef(10.0F, 10.0F, 10.0F); GL11.glTranslatef(1.0F, 0.5F, 1.0F); GL11.glScalef(1.0F * scale, 1.0F * scale, -1.0F); GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(0F + 1 * rotationAngle, 0.0F, 1.0F, 0.0F); rotationAngle = (rotationAngle + 1) % 360; int var10 = Item.itemsList[stack.itemID].getColorFromItemStack(stack, 0); float var16 = (var10 >> 16 & 255) / 255.0F; float var12 = (var10 >> 8 & 255) / 255.0F; float var13 = (var10 & 255) / 255.0F; GL11.glColor4f(var16, var12, var13, 1.0F); GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); renderBlocks.useInventoryTint = true; renderBlocks.renderBlockAsItem(block, stack.getItemDamage(), 1.0F); renderBlocks.useInventoryTint = true; GL11.glPopMatrix(); }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityAlchemicalChestRenderer.java
License:LGPL
@Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) { if (tileEntity instanceof TileAlchemicalChest) { TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) tileEntity; ForgeDirection direction = null; if (tileAlchemicalChest.getWorldObj() != null) { direction = ForgeDirection.getOrientation(tileAlchemicalChest.getBlockMetadata()); }/*from w ww. j a va 2 s. c o m*/ FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST); GL11.glPushMatrix(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x, (float) y + 1.0F, (float) z + 1.0F); GL11.glScalef(1.0F, -1.0F, -1.0F); GL11.glTranslatef(0.5F, 0.5F, 0.5F); short angle = 0; if (direction != null) { if (direction == ForgeDirection.NORTH) { angle = 180; } else if (direction == ForgeDirection.SOUTH) { angle = 0; } else if (direction == ForgeDirection.WEST) { angle = 90; } else if (direction == ForgeDirection.EAST) { angle = -90; } } GL11.glRotatef(angle, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); float adjustedLidAngle = tileAlchemicalChest.prevLidAngle + (tileAlchemicalChest.lidAngle - tileAlchemicalChest.prevLidAngle) * tick; adjustedLidAngle = 1.0F - adjustedLidAngle; adjustedLidAngle = 1.0F - adjustedLidAngle * adjustedLidAngle * adjustedLidAngle; modelChest.chestLid.rotateAngleX = -(adjustedLidAngle * (float) Math.PI / 2.0F); modelChest.renderAll(); GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityAludelRenderer.java
License:LGPL
@Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) { if (tileEntity instanceof TileAludel) { TileAludel tileAludel = (TileAludel) tileEntity; GL11.glPushMatrix();//from ww w . j av a2s. co m GL11.glDisable(GL11.GL_LIGHTING); // Scale, Translate, Rotate scaleTranslateRotate(x, y, z, tileAludel.getOrientation()); // Bind texture FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALUDEL); // Render modelAludel.render(); GL11.glPopMatrix(); /** * Render the ghost item inside of the Aludel, slowly spinning */ GL11.glPushMatrix(); TileEntity tileGlassBell = tileAludel.worldObj.getBlockTileEntity(tileAludel.xCoord, tileAludel.yCoord + 1, tileAludel.zCoord); if (tileGlassBell instanceof TileGlassBell) { if (tileAludel.getStackInSlot(TileAludel.INPUT_INVENTORY_INDEX) != null) { float scaleFactor = getGhostItemScaleFactor( tileAludel.getStackInSlot(TileAludel.INPUT_INVENTORY_INDEX)); float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); EntityItem ghostEntityItem = new EntityItem(tileAludel.worldObj); ghostEntityItem.hoverStart = 0.0F; ghostEntityItem.setEntityItemStack(tileAludel.getStackInSlot(TileAludel.INPUT_INVENTORY_INDEX)); GL11.glTranslatef((float) x + 0.5F, (float) y + 1.25F, (float) z + 0.5F); GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); customRenderItem.doRenderItem(ghostEntityItem, 0, 0, 0, 0, 0); } } GL11.glPopMatrix(); GL11.glEnable(GL11.GL_LIGHTING); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityAludelRenderer.java
License:LGPL
private void scaleTranslateRotate(double x, double y, double z, ForgeDirection orientation) { if (orientation == ForgeDirection.NORTH) { GL11.glTranslated(x + 1, y, z);//from w w w . j a v a 2 s . c o m GL11.glRotatef(180F, 0F, 1F, 0F); GL11.glRotatef(-90F, 1F, 0F, 0F); } else if (orientation == ForgeDirection.EAST) { GL11.glTranslated(x + 1, y, z + 1); GL11.glRotatef(90F, 0F, 1F, 0F); GL11.glRotatef(-90F, 1F, 0F, 0F); } else if (orientation == ForgeDirection.SOUTH) { GL11.glTranslated(x, y, z + 1); GL11.glRotatef(0F, 0F, 1F, 0F); GL11.glRotatef(-90F, 1F, 0F, 0F); } else if (orientation == ForgeDirection.WEST) { GL11.glTranslated(x, y, z); GL11.glRotatef(-90F, 0F, 1F, 0F); GL11.glRotatef(-90F, 1F, 0F, 0F); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityCalcinatorRenderer.java
License:LGPL
@Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) { if (tileEntity instanceof TileCalcinator) { TileCalcinator tileCalcinator = (TileCalcinator) tileEntity; GL11.glPushMatrix();/*from w ww . ja va 2 s . c om*/ GL11.glDisable(GL11.GL_LIGHTING); // Scale, Translate, Rotate GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 0.5F, (float) y + 0.0F, (float) z + 1.2F); GL11.glRotatef(45F, 0F, 1F, 0F); GL11.glRotatef(-90F, 1F, 0F, 0F); // Bind texture FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_CALCINATOR); // Render modelCalcinator.renderPart("Calcinator"); if (tileCalcinator.getStackInSlot(TileCalcinator.OUTPUT_INVENTORY_INDEX) != null) { modelCalcinator.renderPart("Dust"); } GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityEnergyCondenserRenderer.java
License:LGPL
@Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) { if (tileEntity instanceof TileEnergyCondenser) { TileEnergyCondenser tileEnergyCondenser = (TileEnergyCondenser) tileEntity; ForgeDirection direction = null; if (tileEnergyCondenser.getWorldObj() != null) { direction = ForgeDirection.getOrientation(tileEnergyCondenser.getBlockMetadata()); }//ww w .j a v a 2s . c o m FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ENERGY_CONDENSER); GL11.glPushMatrix(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x, (float) y + 1.0F, (float) z + 1.0F); GL11.glScalef(1.0F, -1.0F, -1.0F); GL11.glTranslatef(0.5F, 0.5F, 0.5F); short angle = 0; if (direction != null) { if (direction == ForgeDirection.NORTH) { angle = 180; } else if (direction == ForgeDirection.SOUTH) { angle = 0; } else if (direction == ForgeDirection.WEST) { angle = 90; } else if (direction == ForgeDirection.EAST) { angle = -90; } } GL11.glRotatef(angle, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); float adjustedLidAngle = tileEnergyCondenser.prevLidAngle + (tileEnergyCondenser.lidAngle - tileEnergyCondenser.prevLidAngle) * tick; adjustedLidAngle = 1.0F - adjustedLidAngle; adjustedLidAngle = 1.0F - adjustedLidAngle * adjustedLidAngle * adjustedLidAngle; modelChest.chestLid.rotateAngleX = -(adjustedLidAngle * (float) Math.PI / 2.0F); modelChest.renderAll(); GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityGlassBellRenderer.java
License:LGPL
@Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) { if (tileEntity instanceof TileGlassBell) { TileGlassBell tileGlassBell = (TileGlassBell) tileEntity; GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); /**//from w w w .j a v a 2 s. co m * Render the Glass Bell */ GL11.glPushMatrix(); // Scale, Translate, Rotate renderGlassBellByOrientation(x, y, z, tileGlassBell.getOrientation()); // Bind texture FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_GLASS_BELL); modelGlassBell.render(); GL11.glPopMatrix(); /** * Render the ghost item inside of the Glass Bell, slowly spinning */ GL11.glPushMatrix(); if (tileGlassBell.getStackInSlot(TileGlassBell.DISPLAY_SLOT_INVENTORY_INDEX) != null) { float scaleFactor = getGhostItemScaleFactor( tileGlassBell.getStackInSlot(TileGlassBell.DISPLAY_SLOT_INVENTORY_INDEX)); float rotationAngle = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); EntityItem ghostEntityItem = new EntityItem(tileGlassBell.worldObj); ghostEntityItem.hoverStart = 0.0F; ghostEntityItem.setEntityItemStack( tileGlassBell.getStackInSlot(TileGlassBell.DISPLAY_SLOT_INVENTORY_INDEX)); translateGhostItemByOrientation(ghostEntityItem.getEntityItem(), x, y, z, tileGlassBell.getOrientation()); GL11.glScalef(scaleFactor, scaleFactor, scaleFactor); GL11.glRotatef(rotationAngle, 0.0F, 1.0F, 0.0F); customRenderItem.doRenderItem(ghostEntityItem, 0, 0, 0, 0, 0); } GL11.glPopMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_LIGHTING); } }
From source file:com.pahimar.ee3.client.renderer.tileentity.TileEntityGlassBellRenderer.java
License:LGPL
private void renderGlassBellByOrientation(double x, double y, double z, ForgeDirection forgeDirection) { switch (forgeDirection) { case DOWN: {/* w w w .j a v a2 s . c o m*/ GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 0.0F, (float) y + 2.0F, (float) z + 0.0F); GL11.glRotatef(90F, 1F, 0F, 0F); return; } case UP: { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 0.0F, (float) y + -1.0F, (float) z + 1.0F); GL11.glRotatef(-90F, 1F, 0F, 0F); return; } case NORTH: { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 1.0F, (float) y + 0.0F, (float) z + 2.0F); GL11.glRotatef(180F, 0F, 1F, 0F); return; } case SOUTH: { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 0.0F, (float) y + 0.0F, (float) z + -1.0F); return; } case EAST: { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + -1.0F, (float) y + 1.0F, (float) z + 1.0F); GL11.glRotatef(-90F, 0F, 0F, 1F); GL11.glRotatef(-90F, 1F, 0F, 0F); return; } case WEST: { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef((float) x + 2.0F, (float) y + 0.0F, (float) z + 1.0F); GL11.glRotatef(90F, 0F, 0F, 1F); GL11.glRotatef(-90F, 1F, 0F, 0F); return; } case UNKNOWN: { return; } default: { return; } } }