use of codechicken.lib.vec.Translation in project BluePower by Qmunity.
the class SawRenderFMP method renderItem.
@Override
public void renderItem(ItemRenderType renderType, ItemStack item, Object... data) {
double pi = Math.PI;
Transformation t;
switch(renderType) {
case INVENTORY:
t = new TransformationList(new Scale(1.8), new Translation(0, 0, -0.6), new Rotation(-pi / 4, 1, 0, 0), new Rotation(pi * 3 / 4, 0, 1, 0));
break;
case ENTITY:
t = new TransformationList(new Scale(1), new Translation(0, 0, -0.25), new Rotation(-pi / 4, 1, 0, 0));
break;
case EQUIPPED_FIRST_PERSON:
t = new TransformationList(new Scale(1.5), new Rotation(-pi / 3, 1, 0, 0), new Rotation(pi * 3 / 4, 0, 1, 0), new Translation(0.5, 0.5, 0.5));
break;
case EQUIPPED:
t = new TransformationList(new Scale(1.5), new Rotation(-pi / 5, 1, 0, 0), new Rotation(-pi * 3 / 4, 0, 1, 0), new Translation(0.75, 0.5, 0.75));
break;
default:
t = null;
break;
}
CCRenderState.reset();
CCRenderState.useNormals = true;
CCRenderState.pullLightmap();
CCRenderState.changeTexture("microblock:textures/items/saw.png");
CCRenderState.startDrawing();
handle.render(t);
holder.render(t);
CCRenderState.draw();
GL11.glDisable(GL11.GL_CULL_FACE);
CCRenderState.changeTexture(Refs.MODID + ":textures/items/fmpsaw.png");
CCRenderState.startDrawing();
int tex = 0;
if (item.getItem() == BPItems.ruby_saw) {
tex = 0;
} else if (item.getItem() == BPItems.amethyst_saw) {
tex = 1;
} else if (item.getItem() == BPItems.sapphire_saw) {
tex = 2;
}
blade.render(t, new UVTranslation(0, tex * 4 / 64D));
CCRenderState.draw();
GL11.glEnable(GL11.GL_CULL_FACE);
}
use of codechicken.lib.vec.Translation in project GregTech by GregTechCE.
the class MetaTileEntityRenderer method renderBlock.
@Override
public boolean renderBlock(IBlockAccess world, BlockPos pos, IBlockState state, BufferBuilder buffer) {
MetaTileEntity metaTileEntity = BlockMachine.getMetaTileEntity(world, pos);
if (metaTileEntity == null)
return false;
CCRenderState renderState = CCRenderState.instance();
renderState.reset();
renderState.bind(buffer);
renderState.lightMatrix.locate(world, pos);
IVertexOperation[] pipeline = new IVertexOperation[2];
pipeline[0] = new Translation(pos);
pipeline[1] = renderState.lightMatrix;
metaTileEntity.renderMetaTileEntity(renderState, pipeline);
return true;
}
use of codechicken.lib.vec.Translation in project GregTech by GregTechCE.
the class MetaTileEntityRenderer method handleRenderBlockDamage.
@Override
public void handleRenderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite, BufferBuilder buffer) {
BlockMachine blockMachine = ((BlockMachine) state.getBlock());
Collection<AxisAlignedBB> boxes = blockMachine.getSelectedBoundingBoxes(world, pos, state);
List<Cuboid6> cuboid6List = boxes.stream().map(aabb -> new Cuboid6(aabb).subtract(pos)).collect(Collectors.toList());
CCRenderState renderState = CCRenderState.instance();
renderState.reset();
renderState.bind(buffer);
IVertexOperation[] pipeline = new IVertexOperation[2];
pipeline[0] = new Translation(pos);
pipeline[1] = new IconTransformation(sprite);
BlockFace blockFace = blockFaces.get();
for (Cuboid6 boundingBox : cuboid6List) {
for (EnumFacing face : EnumFacing.VALUES) {
blockFace.loadCuboidFace(boundingBox, face.getIndex());
renderState.setPipeline(blockFace, 0, blockFace.verts.length, pipeline);
renderState.render();
}
}
}
Aggregations