[]
Represents a 4x4 mathematical matrix.
public struct Matrix4x4 : IEquatable<Matrix4x4>, IFormattable
| Name | Description |
|---|---|
| Matrix4x4(float) | Initializes a new instance of the Matrix4x4 struct. |
| Matrix4x4(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float) | Initializes a new instance of the Matrix4x4 struct. |
| Matrix4x4(float[]) | Initializes a new instance of the Matrix4x4 struct. |
| Name | Description |
|---|---|
| Identity | The identity Matrix4x4. |
| M11 | Value at row 1 column 1 of the matrix. |
| M12 | Value at row 1 column 2 of the matrix. |
| M13 | Value at row 1 column 3 of the matrix. |
| M14 | Value at row 1 column 4 of the matrix. |
| M21 | Value at row 2 column 1 of the matrix. |
| M22 | Value at row 2 column 2 of the matrix. |
| M23 | Value at row 2 column 3 of the matrix. |
| M24 | Value at row 2 column 4 of the matrix. |
| M31 | Value at row 3 column 1 of the matrix. |
| M32 | Value at row 3 column 2 of the matrix. |
| M33 | Value at row 3 column 3 of the matrix. |
| M34 | Value at row 3 column 4 of the matrix. |
| M41 | Value at row 4 column 1 of the matrix. |
| M42 | Value at row 4 column 2 of the matrix. |
| M43 | Value at row 4 column 3 of the matrix. |
| M44 | Value at row 4 column 4 of the matrix. |
| SizeInBytes | The size of the Matrix4x4 type, in bytes. |
| Zero | A Matrix4x4 with all of its components set to zero. |
| Name | Description |
|---|---|
| Column1 | Gets or sets the first column in the matrix; that is M11, M21, M31, and M41. |
| Column2 | Gets or sets the second column in the matrix; that is M12, M22, M32, and M42. |
| Column3 | Gets or sets the third column in the matrix; that is M13, M23, M33, and M43. |
| Column4 | Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44. |
| Determinant | Calculates the determinant of the matrix. |
| IsIdentity | Gets a value indicating whether this instance is an identity matrix. |
| this[int] | Gets or sets the component at the specified index. |
| this[int, int] | Gets or sets the component at the specified index. |
| Row1 | Gets or sets the first row in the matrix; that is M11, M12, M13, and M14. |
| Row2 | Gets or sets the second row in the matrix; that is M21, M22, M23, and M24. |
| Row3 | Gets or sets the third row in the matrix; that is M31, M32, M33, and M34. |
| Row4 | Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44. |
| ScaleVector | Gets or sets the scale of the matrix; that is M11, M22, and M33. |
| TranslationVector | Gets or sets the translation of the matrix; that is M41, M42, and M43. |
| Name | Description |
|---|---|
| Add(Matrix4x4, Matrix4x4) | Determines the sum of two matrices. |
| AddRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4) | Determines the sum of two matrices. |
| Billboard(Vector3, Vector3, Vector3, Vector3) | Creates a spherical billboard that rotates around a specified object position. |
| BillboardRef(out Matrix4x4, ref Vector3, ref Vector3, ref Vector3, ref Vector3) | Creates a spherical billboard that rotates around a specified object position. |
| ConstrainedBillboard(Vector3, Vector3, Vector3, Vector3, Vector3) | Creates a cylindrical billboard that rotates around a specified axis. |
| ConstrainedBillboardRef(out Matrix4x4, ref Vector3, ref Vector3, ref Vector3, ref Vector3, ref Vector3) | Creates a cylindrical billboard that rotates around a specified axis. |
| Divide(Matrix4x4, float) | Divides a matrix by the given value. |
| DivideRef(out Matrix4x4, ref Matrix4x4, float) | Divides a matrix by the given value. |
| Equals(Matrix4x4) | Determines whether the specified Matrix4x4 is equal to this instance. |
| Equals(object) | Determines whether the specified object is equal to this instance. |
| EqualsRef(ref Matrix4x4) | Determines whether the specified Matrix4x4 is equal to this instance. |
| ExchangeColumns(int, int) | Exchanges two columns in the matrix. |
| ExchangeRows(int, int) | Exchanges two rows in the matrix. |
| GetHashCode() | Returns a hash code for this instance. |
| HadamardDivide(Matrix4x4, Matrix4x4) | Element-wise division of two matrices. |
| HadamardDivideRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4) | Element-wise division of two matrices. |
| HadamardProduct(Matrix4x4, Matrix4x4) | Determines the Hadamard (element-wise) product of two matrices. |
| HadamardProductRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4) | Determines the Hadamard (element-wise) product of two matrices. |
| Invert(Matrix4x4) | Calculates the inverse of the specified matrix. |
| InvertRef(ref Matrix4x4) | Inverts the matrix. |
| InvertRef(out Matrix4x4, ref Matrix4x4) | Calculates the inverse of the specified matrix. |
| Lerp(Matrix4x4, Matrix4x4, float) | Performs a linear interpolation between two matrices based on the given weighting. |
| LerpRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4, float) | Performs a linear interpolation between two matrices based on the given weighting. |
| LookAt(Vector3, Vector3, Vector3) | Creates a view matrix. |
| LookAtRef(out Matrix4x4, ref Vector3, ref Vector3, ref Vector3) | Creates a view matrix. |
| MatrixProduct(Matrix4x4, Matrix4x4) | Determines the product of two matrices. |
| MatrixProductRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4) | Determines the product of two matrices. |
| Multiply(Matrix4x4, float) | Scales a matrix by the given value. |
| Multiply(ref Matrix4x4, ref Matrix4x4) | Determines the product of two matrices (same as MatrixProduct). |
| MultiplyRef(out Matrix4x4, ref Matrix4x4, float) | Scales a matrix by the given value. |
| Negate(Matrix4x4) | Negates a matrix. |
| NegateRef(ref Matrix4x4) | Negates a matrix. |
| NegateRef(out Matrix4x4, ref Matrix4x4) | Negates a matrix. |
| Orthographic(float, float, float, float) | Creates an orthographic perspective matrix from the given view volume dimensions. |
| OrthographicOffCenter(float, float, float, float, float, float) | Creates a customized orthographic projection matrix. |
| Perspective(float, float, float, float) | Creates a perspective projection matrix from the given view volume dimensions. |
| PerspectiveFieldOfView(float, float, float, float) | Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. |
| PerspectiveOffCenter(float, float, float, float, float, float) | Creates a customized perspective projection matrix. |
| Reflection(Vector3, float) | Creates a matrix that reflects the coordinate system about a specified plane. |
| ReflectionRef(out Matrix4x4, ref Vector3, float) | Creates a matrix that reflects the coordinate system about a specified plane. |
| RotationAxis(Vector3, float) | Creates a matrix that rotates around an arbitary axis. |
| RotationAxisRef(out Matrix4x4, ref Vector3, float) | Creates a matrix that rotates around an arbitary axis. |
| RotationX(float) | Creates a matrix that rotates around the x-axis. |
| RotationX(float, Vector3) | Creates a matrix for rotating points around the X axis from a center point. |
| RotationXRef(out Matrix4x4, float) | Creates a matrix that rotates around the x-axis. |
| RotationXRef(out Matrix4x4, float, ref Vector3) | Creates a matrix for rotating points around the X axis from a center point. |
| RotationY(float) | Creates a matrix that rotates around the y-axis. |
| RotationY(float, Vector3) | Creates a matrix that rotates around the y-axis. |
| RotationYRef(out Matrix4x4, float) | Creates a matrix that rotates around the y-axis. |
| RotationYRef(out Matrix4x4, float, ref Vector3) | Creates a matrix for rotating points around the Y axis from a center point. |
| RotationZ(float) | Creates a matrix that rotates around the z-axis. |
| RotationZ(float, Vector3) | Creates a matrix that rotates around the z-axis. |
| RotationZRef(out Matrix4x4, float) | Creates a matrix that rotates around the z-axis. |
| RotationZRef(out Matrix4x4, float, ref Vector3) | Creates a matrix for rotating points around the Z axis from a center point. |
| Scale(Vector3) | Creates a matrix that scales along the x-axis, y-axis, and y-axis. |
| Scale(float) | Creates a matrix that uniformally scales along all three axis. |
| Scale(float, float, float) | Creates a matrix that scales along the x-axis, y-axis, and y-axis. |
| ScaleRef(out Matrix4x4, ref Vector3) | Creates a matrix that scales along the x-axis, y-axis, and y-axis. |
| ScaleRef(out Matrix4x4, float) | Creates a matrix that uniformally scales along all three axis. |
| ScaleRef(out Matrix4x4, float, float, float) | Creates a matrix that scales along the x-axis, y-axis, and y-axis. |
| Shadow(Vector3, Vector3, float) | Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. |
| ShadowRef(out Matrix4x4, ref Vector3, ref Vector3, float) | Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. |
| Skew(Vector3, Vector3, float) | Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle. |
| SkewRef(out Matrix4x4, ref Vector3, ref Vector3, float) | Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle. |
| Subtract(Matrix4x4, Matrix4x4) | Determines the difference between two matrices. |
| SubtractRef(out Matrix4x4, ref Matrix4x4, ref Matrix4x4) | Determines the difference between two matrices. |
| ToArray() | Creates an array containing the elements of the matrix. |
| ToString() | Returns a string that represents the current object. |
| ToString(IFormatProvider) | Returns a string that represents this instance. |
| ToString(string) | Returns a string that represents this instance. |
| ToString(string, IFormatProvider) | Returns a string that represents this instance. |
| Translation(Vector3) | Creates a translation matrix using the specified offsets. |
| Translation(float, float, float) | Creates a translation matrix using the specified offsets. |
| TranslationRef(out Matrix4x4, ref Vector3) | Creates a translation matrix from the specified 3-dimensional vector. |
| TranslationRef(out Matrix4x4, float, float, float) | Creates a translation matrix using the specified offsets. |
| Transpose(Matrix4x4) | Calculates the transpose of the specified matrix. |
| TransposeRef(ref Matrix4x4) | Transposes the matrix. |
| TransposeRef(out Matrix4x4, ref Matrix4x4) | Calculates the transpose of the specified matrix. |
| World(Vector3, Vector3, Vector3) | Creates a world matrix with the specified parameters. |
| WorldRef(out Matrix4x4, ref Vector3, ref Vector3, ref Vector3) | Creates a world matrix with the specified parameters. |
| YawPitchRoll(float, float, float) | Creates a rotation matrix from the specified yaw, pitch, and roll. |
| Name | Description |
|---|---|
| operator +(Matrix4x4, Matrix4x4) | Adds two matricies. |
| operator /(Matrix4x4, float) | Scales a matrix by a given value. |
| operator ==(Matrix4x4, Matrix4x4) | Tests for equality between two objects. |
| operator !=(Matrix4x4, Matrix4x4) | Tests for inequality between two objects. |
| operator *(Matrix4x4, Matrix4x4) | Multiplies two matricies. |
| operator *(Matrix4x4, float) | Scales a matrix by a given value. |
| operator *(float, Matrix4x4) | Scales a matrix by a given value. |
| operator -(Matrix4x4, Matrix4x4) | Subtracts two matricies. |
| operator -(Matrix4x4) | Negates a matrix. |