Package mods.railcraft.client.render

Source Code of mods.railcraft.client.render.TexturedQuadAdv

/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.client.render;

import net.minecraft.client.model.PositionTextureVertex;
import net.minecraft.client.model.TexturedQuad;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.Vec3;

/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class TexturedQuadAdv extends TexturedQuad {

    private int r, g, b, a, brightness;
    private boolean doTesselating = true;

    public TexturedQuadAdv(PositionTextureVertex[] verts) {
        super(verts);
    }

    public void setColorRGBA(int r, int g, int b, int a) {
        this.r = r;
        this.g = g;
        this.b = b;
        this.a = a;
    }

    public void setBrightness(int brightness) {
        this.brightness = brightness;
    }

    public void setDoTesselating(boolean doTess) {
        this.doTesselating = doTess;
    }

    @Override
    public void draw(Tessellator tess, float par2) {
        Vec3 vec3 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[0].vector3D);
        Vec3 vec31 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[2].vector3D);
        Vec3 vec32 = vec31.crossProduct(vec3).normalize();
        if (doTesselating) {
            tess.startDrawingQuads();
        }
        tess.setColorRGBA(r, g, b, a);
        tess.setBrightness(brightness);

        tess.setNormal((float) vec32.xCoord, (float) vec32.yCoord, (float) vec32.zCoord);

        for (int i = 0; i < 4; ++i) {
            PositionTextureVertex positiontexturevertex = this.vertexPositions[i];
            tess.addVertexWithUV((double) ((float) positiontexturevertex.vector3D.xCoord * par2), (double) ((float) positiontexturevertex.vector3D.yCoord * par2), (double) ((float) positiontexturevertex.vector3D.zCoord * par2), (double) positiontexturevertex.texturePositionX, (double) positiontexturevertex.texturePositionY);
        }
        if (doTesselating) {
            tess.draw();
        }
    }
}
TOP

Related Classes of mods.railcraft.client.render.TexturedQuadAdv

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.