mirror of
https://github.com/GTNewHorizons/CodeChickenCore.git
synced 2026-11-11 07:47:47 +00:00
Added apply methods to some common Vector containers
Added ColourMultiplier vertex modifier.
This commit is contained in:
1 parent
4bd5aab59a
commit
575ec57050
4 files changed
+61
-1
No files matched your search
@@ -325,7 +325,7 @@ public class CCModel
|
||||
public CCModel apply(Transformation t)
|
||||
{
|
||||
for(int k = 0; k < verts.length; k++)
|
||||
t.apply(verts[k].vec);
|
||||
verts[k].apply(t);
|
||||
|
||||
if(normals != null)
|
||||
for(int k = 0; k < normals.length; k++)
|
||||
@@ -333,6 +333,14 @@ public class CCModel
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public CCModel apply(IUVTransformation uvt)
|
||||
{
|
||||
for(int k = 0; k < verts.length; k++)
|
||||
verts[k].apply(uvt);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public void render()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package codechicken.lib.render;
|
||||
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import codechicken.lib.colour.Colour;
|
||||
import codechicken.lib.colour.ColourRGBA;
|
||||
import codechicken.lib.vec.Vector3;
|
||||
|
||||
public class ColourMultiplier implements IVertexModifier
|
||||
{
|
||||
public Colour colour;
|
||||
|
||||
public ColourMultiplier(Colour colour)
|
||||
{
|
||||
this.colour = colour;
|
||||
}
|
||||
|
||||
public ColourMultiplier(int colour)
|
||||
{
|
||||
this(new ColourRGBA(colour));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyModifiers(CCModel m, Tessellator tess, Vector3 vec, UV uv, Vector3 normal, int i)
|
||||
{
|
||||
if(CCRenderState.useModelColours() && m != null && m.colours != null)
|
||||
CCRenderState.vertexColour(new ColourRGBA(m.colours[i]).multiply(colour).rgba());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsNormals()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,11 @@ public class UVScale implements IUVTransformation
|
||||
sv = scalev;
|
||||
}
|
||||
|
||||
public UVScale(double d)
|
||||
{
|
||||
this(d, d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transform(UV uv)
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import codechicken.lib.vec.Transformation;
|
||||
import codechicken.lib.vec.Vector3;
|
||||
|
||||
public class Vertex5
|
||||
@@ -54,4 +55,16 @@ public class Vertex5
|
||||
MathContext cont = new MathContext(4, RoundingMode.HALF_UP);
|
||||
return "Vertex: ("+new BigDecimal(vec.x, cont)+", "+new BigDecimal(vec.y, cont)+", "+new BigDecimal(vec.z, cont)+") ("+new BigDecimal(uv.u, cont)+", "+new BigDecimal(uv.v, cont)+")";
|
||||
}
|
||||
|
||||
public Vertex5 apply(Transformation t)
|
||||
{
|
||||
vec.apply(t);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Vertex5 apply(IUVTransformation t)
|
||||
{
|
||||
uv.apply(t);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user