package pneumaticCraft.client.render;
import net.minecraft.client.renderer.Tessellator;
import org.lwjgl.opengl.GL11;
import pneumaticCraft.common.util.PneumaticCraftUtils;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class RenderRing extends RenderProgressingLine{
private final int color;
public RenderRing(double startX, double startY, double startZ, double endX, double endY, double endZ, int color){
super(startX, startY, startZ, endX, endY, endZ);
this.color = color;
}
@SideOnly(Side.CLIENT)
public void renderInterpolated(RenderProgressingLine lastTickLine, float partialTick, float rotationYaw, float rotationPitch){
GL11.glPushMatrix();
double renderProgress = getInter(progress, lastTickLine.progress, partialTick);
GL11.glTranslated((getInter(endX, lastTickLine.endX, partialTick) - startX) * renderProgress, (getInter(endY, lastTickLine.endY, partialTick) - startY) * renderProgress, (getInter(endZ, lastTickLine.endZ, partialTick) - startZ) * renderProgress);
GL11.glRotatef(rotationYaw, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(rotationPitch, 0.0F, 0.0F, 1.0F);
Tessellator tess = Tessellator.instance;
GL11.glEnable(GL11.GL_LINE_SMOOTH);
tess.startDrawing(GL11.GL_LINE_LOOP);
tess.setColorOpaque_I(color);
double size = 5 / 16D;
for(int i = 0; i < PneumaticCraftUtils.circlePoints; i++) {
tess.addVertex(0, PneumaticCraftUtils.sin[i] * size, PneumaticCraftUtils.cos[i] * size);
}
tess.draw();
GL11.glDisable(GL11.GL_LINE_SMOOTH);
GL11.glPopMatrix();
}
}