Fixed normal calculation for vanilla models, fixed the grass darkening and simular issues.
This commit is contained in:
parent
6b10b41b02
commit
5214ed29b7
|
@ -11,6 +11,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.vecmath.Matrix4f;
|
import javax.vecmath.Matrix4f;
|
||||||
import javax.vecmath.Vector3d;
|
import javax.vecmath.Vector3d;
|
||||||
|
import javax.vecmath.Vector3f;
|
||||||
import javax.vecmath.Vector4f;
|
import javax.vecmath.Vector4f;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
@ -713,11 +714,23 @@ public class ForgeHooksClient
|
||||||
tileItemMap.put(Pair.of(item, metadata), TileClass);
|
tileItemMap.put(Pair.of(item, metadata), TileClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* internal, relies on fixed format of FaceBakery
|
||||||
|
*/
|
||||||
public static void fillNormal(int[] faceData, EnumFacing facing)
|
public static void fillNormal(int[] faceData, EnumFacing facing)
|
||||||
{
|
{
|
||||||
int x = ((byte)(facing.getFrontOffsetX() * 127)) & 0xFF;
|
Vector3f v1 = new Vector3f(faceData[3 * 7 + 0], faceData[3 * 7 + 1], faceData[3 * 7 + 2]);
|
||||||
int y = ((byte)(facing.getFrontOffsetY() * 127)) & 0xFF;
|
Vector3f t = new Vector3f(faceData[1 * 7 + 0], faceData[1 * 7 + 1], faceData[1 * 7 + 2]);
|
||||||
int z = ((byte)(facing.getFrontOffsetZ() * 127)) & 0xFF;
|
Vector3f v2 = new Vector3f(faceData[2 * 7 + 0], faceData[2 * 7 + 1], faceData[2 * 7 + 2]);
|
||||||
|
v1.sub(t);
|
||||||
|
t.set(faceData[0 * 7 + 0], faceData[0 * 7 + 1], faceData[0 * 7 + 2]);
|
||||||
|
v2.sub(t);
|
||||||
|
v1.cross(v2, v1);
|
||||||
|
v1.normalize();
|
||||||
|
|
||||||
|
int x = ((byte)(v1.x * 127)) & 0xFF;
|
||||||
|
int y = ((byte)(v1.y * 127)) & 0xFF;
|
||||||
|
int z = ((byte)(v1.z * 127)) & 0xFF;
|
||||||
for(int i = 0; i < 4; i++)
|
for(int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
faceData[i * 7 + 6] = x | (y << 0x08) | (z << 0x10);
|
faceData[i * 7 + 6] = x | (y << 0x08) | (z << 0x10);
|
||||||
|
|
Loading…
Reference in New Issue