Add Normal in vertex. And add light in shader.
This commit is contained in:
parent
8908ef1332
commit
0e96615b32
16 changed files with 221 additions and 85 deletions
|
|
@ -24,5 +24,22 @@ namespace LandblockExtraction.Tools {
|
|||
public static Vector4 RGBAColorToVector4(RGBAColor color) {
|
||||
return new Vector4(color.r, color.g, color.b, color.a);
|
||||
}
|
||||
// Calcule la normale d'un triangle à partir de trois points
|
||||
public static Vector3 CalculateTriangleNormal(Vector3 A, Vector3 B, Vector3 C) {
|
||||
Vector3 AB = B - A;
|
||||
Vector3 AC = C - A;
|
||||
Vector3 normal = Vector3.Cross(AB, AC);
|
||||
normal = Vector3.Normalize(normal);
|
||||
return normal;
|
||||
}
|
||||
|
||||
// Calcule la normale moyenne d'un quadrilatère en utilisant deux de ses triangles
|
||||
public static Vector3 CalculateQuadNormal(Vector3 A, Vector3 B, Vector3 C, Vector3 D) {
|
||||
Vector3 normal1 = CalculateTriangleNormal(A, B, C);
|
||||
Vector3 normal2 = CalculateTriangleNormal(C, B, D);
|
||||
|
||||
Vector3 averageNormal = (normal1 + normal2) / 2;
|
||||
return Vector3.Normalize(averageNormal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue