Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CreateLookAt()

static Matrix4x4 System.Numerics.Matrix4x4.CreateLookAt ( Vector3 cameraPosition,
Vector3 cameraTarget,
Vector3 cameraUpVector )
inlinestatic

Definition at line 478 of file Matrix4x4.cs.

479 {
480 Vector3 vector = Vector3.Normalize(cameraPosition - cameraTarget);
481 Vector3 vector2 = Vector3.Normalize(Vector3.Cross(cameraUpVector, vector));
482 Vector3 vector3 = Vector3.Cross(vector, vector2);
483 Matrix4x4 identity = Identity;
484 identity.M11 = vector2.X;
485 identity.M12 = vector3.X;
486 identity.M13 = vector.X;
487 identity.M21 = vector2.Y;
488 identity.M22 = vector3.Y;
489 identity.M23 = vector.Y;
490 identity.M31 = vector2.Z;
491 identity.M32 = vector3.Z;
492 identity.M33 = vector.Z;
493 identity.M41 = 0f - Vector3.Dot(vector2, cameraPosition);
494 identity.M42 = 0f - Vector3.Dot(vector3, cameraPosition);
495 identity.M43 = 0f - Vector3.Dot(vector, cameraPosition);
496 return identity;
497 }
Matrix4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)
Definition Matrix4x4.cs:93
static Matrix4x4 Identity
Definition Matrix4x4.cs:65

References System.Numerics.Vector3.Cross(), System.Numerics.Vector3.Dot(), System.Numerics.Matrix4x4.Identity, System.Numerics.Vector3.Normalize(), System.Numerics.Vector3.X, System.Numerics.Vector3.Y, and System.Numerics.Vector3.Z.