use of codechicken.lib.vec.TransformationList 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.TransformationList in project GregTech by GregTechCE.
the class StoneRenderer method renderBlock.
@Override
public boolean renderBlock(IBlockAccess world, BlockPos pos, IBlockState state, BufferBuilder buffer) {
// otherwise, we are in solid rendering layer and render primary stone
CCRenderState renderState = CCRenderState.instance();
renderState.reset();
renderState.bind(buffer);
Matrix4 translation = new Matrix4();
translation.translate(pos.getX(), pos.getY(), pos.getZ());
TextureAtlasSprite stoneSprite = TextureUtils.getBlockTexture("stone");
Material material = ((BlockSurfaceRock) state.getBlock()).getStoneMaterial(world, pos, state);
int renderingColor = GTUtility.convertRGBtoOpaqueRGBA_CL(material.materialRGB);
IVertexOperation[] operations = new IVertexOperation[] { new IconTransformation(stoneSprite), new ColourMultiplier(renderingColor), new TransformationList(translation) };
if (world != null) {
renderState.setBrightness(world, pos);
}
renderState.setPipeline(operations);
CCModel actualModel = getActualModel(world, pos);
renderState.setModel(actualModel);
renderState.render();
return true;
}
use of codechicken.lib.vec.TransformationList in project GregTech by GregTechCE.
the class Textures method renderFace.
@SideOnly(Side.CLIENT)
public static void renderFace(CCRenderState renderState, Matrix4 translation, IVertexOperation[] ops, EnumFacing face, Cuboid6 bounds, TextureAtlasSprite sprite) {
BlockFace blockFace = blockFaces.get();
blockFace.loadCuboidFace(bounds, face.getIndex());
UVTransformationList uvList = new UVTransformationList(new IconTransformation(sprite));
if (face.getIndex() == 0) {
uvList.prepend(new UVMirror(0, 0, bounds.min.z, bounds.max.z));
}
renderState.setPipeline(blockFace, 0, blockFace.verts.length, ArrayUtils.addAll(ops, new TransformationList(translation), uvList));
renderState.render();
}
Aggregations