[]
Represents a 4x4 mathematical matrix.
[TypeConverter(typeof(Matrix4x4Converter))]
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. |