<PackageReference Include="System.Numerics.Vectors" Version="4.4.0-preview2-25405-01" />

System.Numerics.Matrix4x4

public struct Matrix4x4 : IEquatable<Matrix4x4>
A structure encapsulating a 4x4 matrix.
public float M11

Value at row 1, column 1 of the matrix.

public float M12

Value at row 1, column 2 of the matrix.

public float M13

Value at row 1, column 3 of the matrix.

public float M14

Value at row 1, column 4 of the matrix.

public float M21

Value at row 2, column 1 of the matrix.

public float M22

Value at row 2, column 2 of the matrix.

public float M23

Value at row 2, column 3 of the matrix.

public float M24

Value at row 2, column 4 of the matrix.

public float M31

Value at row 3, column 1 of the matrix.

public float M32

Value at row 3, column 2 of the matrix.

public float M33

Value at row 3, column 3 of the matrix.

public float M34

Value at row 3, column 4 of the matrix.

public float M41

Value at row 4, column 1 of the matrix.

public float M42

Value at row 4, column 2 of the matrix.

public float M43

Value at row 4, column 3 of the matrix.

public float M44

Value at row 4, column 4 of the matrix.

public static Matrix4x4 Identity { get; }

Returns the multiplicative identity matrix.

public bool IsIdentity { get; }

Returns whether the matrix is the identity matrix.

public Vector3 Translation { get; set; }

Gets or sets the translation component of this matrix.

public 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)

Constructs a Matrix4x4 from the given components.

public Matrix4x4(Matrix3x2 value)

Constructs a Matrix4x4 from the given Matrix3x2.

public static Matrix4x4 Add(Matrix4x4 value1, Matrix4x4 value2)

Adds two matrices together.

public static Matrix4x4 CreateBillboard(Vector3 objectPosition, Vector3 cameraPosition, Vector3 cameraUpVector, Vector3 cameraForwardVector)

Creates a spherical billboard that rotates around a specified object position.

public static Matrix4x4 CreateConstrainedBillboard(Vector3 objectPosition, Vector3 cameraPosition, Vector3 rotateAxis, Vector3 cameraForwardVector, Vector3 objectForwardVector)

Creates a cylindrical billboard that rotates around a specified axis.

public static Matrix4x4 CreateFromAxisAngle(Vector3 axis, float angle)

Creates a matrix that rotates around an arbitrary vector.

public static Matrix4x4 CreateFromQuaternion(Quaternion quaternion)

Creates a rotation matrix from the given Quaternion rotation value.

public static Matrix4x4 CreateFromYawPitchRoll(float yaw, float pitch, float roll)

Creates a rotation matrix from the specified yaw, pitch, and roll.

public static Matrix4x4 CreateLookAt(Vector3 cameraPosition, Vector3 cameraTarget, Vector3 cameraUpVector)

Creates a view matrix.

public static Matrix4x4 CreateOrthographic(float width, float height, float zNearPlane, float zFarPlane)

Creates an orthographic perspective matrix from the given view volume dimensions.

public static Matrix4x4 CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane)

Builds a customized, orthographic projection matrix.

public static Matrix4x4 CreatePerspective(float width, float height, float nearPlaneDistance, float farPlaneDistance)

Creates a perspective projection matrix from the given view volume dimensions.

public static Matrix4x4 CreatePerspectiveFieldOfView(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance)

Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.

public static Matrix4x4 CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance)

Creates a customized, perspective projection matrix.

public static Matrix4x4 CreateReflection(Plane value)

Creates a Matrix that reflects the coordinate system about a specified Plane.

public static Matrix4x4 CreateRotationX(float radians)

Creates a matrix for rotating points around the X-axis.

public static Matrix4x4 CreateRotationX(float radians, Vector3 centerPoint)

Creates a matrix for rotating points around the X-axis, from a center point.

public static Matrix4x4 CreateRotationY(float radians)

Creates a matrix for rotating points around the Y-axis.

public static Matrix4x4 CreateRotationY(float radians, Vector3 centerPoint)

Creates a matrix for rotating points around the Y-axis, from a center point.

public static Matrix4x4 CreateRotationZ(float radians)

Creates a matrix for rotating points around the Z-axis.

public static Matrix4x4 CreateRotationZ(float radians, Vector3 centerPoint)

Creates a matrix for rotating points around the Z-axis, from a center point.

public static Matrix4x4 CreateScale(float xScale, float yScale, float zScale)

Creates a scaling matrix.

public static Matrix4x4 CreateScale(float xScale, float yScale, float zScale, Vector3 centerPoint)

Creates a scaling matrix with a center point.

public static Matrix4x4 CreateScale(Vector3 scales)

Creates a scaling matrix.

public static Matrix4x4 CreateScale(Vector3 scales, Vector3 centerPoint)

Creates a scaling matrix with a center point.

public static Matrix4x4 CreateScale(float scale)

Creates a uniform scaling matrix that scales equally on each axis.

public static Matrix4x4 CreateScale(float scale, Vector3 centerPoint)

Creates a uniform scaling matrix that scales equally on each axis with a center point.

public static Matrix4x4 CreateShadow(Vector3 lightDirection, Plane plane)

Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.

public static Matrix4x4 CreateTranslation(Vector3 position)

Creates a translation matrix.

public static Matrix4x4 CreateTranslation(float xPosition, float yPosition, float zPosition)

Creates a translation matrix.

public static Matrix4x4 CreateWorld(Vector3 position, Vector3 forward, Vector3 up)

Creates a world matrix with the specified parameters.

public static bool Decompose(Matrix4x4 matrix, out Vector3 scale, out Quaternion rotation, out Vector3 translation)

Attempts to extract the scale, translation, and rotation components from the given scale/rotation/translation matrix. If successful, the out parameters will contained the extracted values.

public static bool Invert(Matrix4x4 matrix, out Matrix4x4 result)

Attempts to calculate the inverse of the given matrix. If successful, result will contain the inverted matrix.

public static Matrix4x4 Lerp(Matrix4x4 matrix1, Matrix4x4 matrix2, float amount)

Linearly interpolates between the corresponding values of two matrices.

public static Matrix4x4 Multiply(Matrix4x4 value1, Matrix4x4 value2)

Multiplies a matrix by another matrix.

public static Matrix4x4 Multiply(Matrix4x4 value1, float value2)

Multiplies a matrix by a scalar value.

public static Matrix4x4 Negate(Matrix4x4 value)

Returns a new matrix with the negated elements of the given matrix.

public static Matrix4x4 op_Addition(Matrix4x4 value1, Matrix4x4 value2)

Adds two matrices together.

public static bool op_Equality(Matrix4x4 value1, Matrix4x4 value2)

Returns a boolean indicating whether the given two matrices are equal.

public static bool op_Inequality(Matrix4x4 value1, Matrix4x4 value2)

Returns a boolean indicating whether the given two matrices are not equal.

public static Matrix4x4 op_Multiply(Matrix4x4 value1, Matrix4x4 value2)

Multiplies a matrix by another matrix.

public static Matrix4x4 op_Multiply(Matrix4x4 value1, float value2)

Multiplies a matrix by a scalar value.

public static Matrix4x4 op_Subtraction(Matrix4x4 value1, Matrix4x4 value2)

Subtracts the second matrix from the first.

public static Matrix4x4 op_UnaryNegation(Matrix4x4 value)

Returns a new matrix with the negated elements of the given matrix.

public static Matrix4x4 Subtract(Matrix4x4 value1, Matrix4x4 value2)

Subtracts the second matrix from the first.

public static Matrix4x4 Transform(Matrix4x4 value, Quaternion rotation)

Transforms the given matrix by applying the given Quaternion rotation.

public static Matrix4x4 Transpose(Matrix4x4 matrix)

Transposes the rows and columns of a matrix.

public bool Equals(Matrix4x4 other)

Returns a boolean indicating whether this matrix instance is equal to the other given matrix.

public float GetDeterminant()

Calculates the determinant of the matrix.