SlimDX Documentation
Matrix Structure
NamespacesSlimDXMatrix
Defines a 4x4 matrix.

Unmanaged counterpart: D3DXMATRIX

Declaration Syntax
C#
[SerializableAttribute]
public struct Matrix : IEquatable<Matrix>
Members
All Members Methods Properties Fields



Icon Member Description
Add(Matrix%, Matrix%, Matrix%)
Determines the sum of two matrices.

Add(Matrix, Matrix)
Determines the sum of two matrices.

Addition(Matrix, Matrix)
Adds two matricies.

AffineTransformation(Single, Vector3%, Quaternion%, Vector3%, Matrix%)
Creates a 3D affine transformation matrix.

AffineTransformation(Single, Vector3, Quaternion, Vector3)
Creates a 3D affine transformation matrix.

AffineTransformation2D(Single, Vector2%, Single, Vector2%, Matrix%)
Creates a 2D affine transformation matrix.

AffineTransformation2D(Single, Vector2, Single, Vector2)
Creates a 2D affine transformation matrix.

Billboard(Vector3%, Vector3%, Vector3%, Vector3%, Matrix%)
Creates a spherical billboard that rotates around a specified object position.

Billboard(Vector3, Vector3, Vector3, Vector3)
Creates a spherical billboard that rotates around a specified object position.

Columns[([( Int32])])
Decompose(Vector3%, Quaternion%, Vector3%)
Decomposes the matrix into its scalar, rotational, and translational elements.

Determinant()()()()
Calculates the determinant of the matrix.

Divide(Matrix%, Single, Matrix%)
Scales a matrix by the given value.

Divide(Matrix, Single)
Scales a matrix by the given value.

Divide(Matrix%, Matrix%, Matrix%)
Determines the quotient of two matrices.

Divide(Matrix, Matrix)
Determines the quotient of two matrices.

Division(Matrix, Single)
Scales a matrix by a given value.

Division(Matrix, Matrix)
Divides two matricies.

Equality(Matrix, Matrix)
Tests for equality between two objects.

Equals(Matrix%, Matrix%)
Determines whether the specified object instances are considered equal.

Equals(Matrix)
Returns a value that indicates whether the current instance is equal to the specified object.

Equals(Object)
Returns a value that indicates whether the current instance is equal to a specified object.
(Overrides ValueType.Equals(Object).)
Finalize()()()()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
GetHashCode()()()()
Returns the hash code for this instance.
(Overrides ValueType.GetHashCode()()()().)
GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
Identity
Gets a Matrix that represents an identity matrix.

Inequality(Matrix, Matrix)
Tests for inequality between two objects.

Invert(Matrix%, Matrix%)
Calculates the inverse of the specified matrix.

Invert(Matrix)
Calculates the inverse of the specified matrix.

Invert()()()()
Inverts the matrix.

IsIdentity
Gets a value indicating whether this instance is an identity matrix.

Item[([( Int32, Int32])])
Lerp(Matrix%, Matrix%, Single, Matrix%)
Performs a linear interpolation between two matricies.

Lerp(Matrix, Matrix, Single)
Performs a linear interpolation between two matricies.

LookAtLH(Vector3%, Vector3%, Vector3%, Matrix%)
Creates a left-handed, look-at matrix.

LookAtLH(Vector3, Vector3, Vector3)
Creates a left-handed, look-at matrix.

LookAtRH(Vector3%, Vector3%, Vector3%, Matrix%)
Creates a right-handed, look-at matrix.

LookAtRH(Vector3, Vector3, Vector3)
Creates a right-handed, look-at matrix.

M11
Gets or sets the element of the matrix that exists in the first row and first column.

M12
Gets or sets the element of the matrix that exists in the first row and second column.

M13
Gets or sets the element of the matrix that exists in the first row and third column.

M14
Gets or sets the element of the matrix that exists in the first row and fourth column.

M21
Gets or sets the element of the matrix that exists in the second row and first column.

M22
Gets or sets the element of the matrix that exists in the second row and second column.

M23
Gets or sets the element of the matrix that exists in the second row and third column.

M24
Gets or sets the element of the matrix that exists in the second row and fourth column.

M31
Gets or sets the element of the matrix that exists in the third row and first column.

M32
Gets or sets the element of the matrix that exists in the third row and second column.

M33
Gets or sets the element of the matrix that exists in the third row and third column.

M34
Gets or sets the element of the matrix that exists in the third row and fourth column.

M41
Gets or sets the element of the matrix that exists in the fourth row and first column.

M42
Gets or sets the element of the matrix that exists in the fourth row and second column.

M43
Gets or sets the element of the matrix that exists in the fourth row and third column.

M44
Gets or sets the element of the matrix that exists in the fourth row and fourth column.

MemberwiseClone()()()()
Creates a shallow copy of the current Object.
(Inherited from Object.)
Multiply(Matrix%, Single, Matrix%)
Scales a matrix by the given value.

Multiply(Matrix, Single)
Scales a matrix by the given value.

Multiply(array<Matrix>[]()[][], Matrix, array<Matrix>[]()[][])
Determines the products of of an array of matrices by a single matrix.

Multiply(array<Matrix>[]()[][], Matrix, array<Matrix>[]()[][], Int32, Int32)
Determines the products of of an array of matrices by a single matrix.

Multiply(array<Matrix>[]()[][], array<Matrix>[]()[][], array<Matrix>[]()[][])
Determines the products of two arrays of matrices.

Multiply(array<Matrix>[]()[][], array<Matrix>[]()[][], array<Matrix>[]()[][], Int32, Int32)
Determines the products of two arrays of matrices.

Multiply(Matrix*, Matrix*, Matrix*, Int32)
Determines the products of two arrays of matrices.

Multiply(Matrix%, Matrix%, Matrix%)
Determines the product of two matrices.

Multiply(Matrix, Matrix)
Determines the product of two matrices.

Multiply(Single, Matrix)
Scales a matrix by a given value.

Multiply(Matrix, Single)
Scales a matrix by a given value.

Multiply(Matrix, Matrix)
Multiplies two matricies.

Negate(Matrix%, Matrix%)
Negates a matrix.

Negate(Matrix)
Negates a matrix.

OrthoLH(Single, Single, Single, Single, Matrix%)
Creates a left-handed, orthographic projection matrix.

OrthoLH(Single, Single, Single, Single)
Creates a left-handed, orthographic projection matrix.

OrthoOffCenterLH(Single, Single, Single, Single, Single, Single, Matrix%)
Creates a left-handed, customized orthographic projection matrix.

OrthoOffCenterLH(Single, Single, Single, Single, Single, Single)
Creates a left-handed, customized orthographic projection matrix.

OrthoOffCenterRH(Single, Single, Single, Single, Single, Single, Matrix%)
Creates a right-handed, customized orthographic projection matrix.

OrthoOffCenterRH(Single, Single, Single, Single, Single, Single)
Creates a right-handed, customized orthographic projection matrix.

OrthoRH(Single, Single, Single, Single, Matrix%)
Creates a right-handed, orthographic projection matrix.

OrthoRH(Single, Single, Single, Single)
Creates a right-handed, orthographic projection matrix.

PerspectiveFovLH(Single, Single, Single, Single, Matrix%)
Creates a left-handed, perspective projection matrix based on a field of view.

PerspectiveFovLH(Single, Single, Single, Single)
Creates a left-handed, perspective projection matrix based on a field of view.

PerspectiveFovRH(Single, Single, Single, Single, Matrix%)
Creates a right-handed, perspective projection matrix based on a field of view.

PerspectiveFovRH(Single, Single, Single, Single)
Creates a right-handed, perspective projection matrix based on a field of view.

PerspectiveLH(Single, Single, Single, Single, Matrix%)
Creates a left-handed, perspective projection matrix.

PerspectiveLH(Single, Single, Single, Single)
Creates a left-handed, perspective projection matrix.

PerspectiveOffCenterLH(Single, Single, Single, Single, Single, Single, Matrix%)
Creates a left-handed, customized perspective projection matrix.

PerspectiveOffCenterLH(Single, Single, Single, Single, Single, Single)
Creates a left-handed, customized perspective projection matrix.

PerspectiveOffCenterRH(Single, Single, Single, Single, Single, Single, Matrix%)
Creates a right-handed, customized perspective projection matrix.

PerspectiveOffCenterRH(Single, Single, Single, Single, Single, Single)
Creates a right-handed, customized perspective projection matrix.

PerspectiveRH(Single, Single, Single, Single, Matrix%)
Creates a right-handed, perspective projection matrix.

PerspectiveRH(Single, Single, Single, Single)
Creates a right-handed, perspective projection matrix.

Reflection(Plane%, Matrix%)
Creates a matrix that reflects the coordinate system about a plane.

Reflection(Plane)
Creates a matrix that reflects the coordinate system about a plane.

RotationAxis(Vector3%, Single, Matrix%)
Creates a matrix that rotates around an arbitary axis.

RotationAxis(Vector3, Single)
Creates a matrix that rotates around an arbitary axis.

RotationQuaternion(Quaternion%, Matrix%)
Creates a rotation matrix from a quaternion.

RotationQuaternion(Quaternion)
Creates a rotation matrix from a quaternion.

RotationX(Single, Matrix%)
Creates a matrix that rotates around the x-axis.

RotationX(Single)
Creates a matrix that rotates around the x-axis.

RotationY(Single, Matrix%)
Creates a matrix that rotates around the y-axis.

RotationY(Single)
Creates a matrix that rotates around the y-axis.

RotationYawPitchRoll(Single, Single, Single, Matrix%)
Creates a rotation matrix with a specified yaw, pitch, and roll.

RotationYawPitchRoll(Single, Single, Single)
Creates a rotation matrix with a specified yaw, pitch, and roll.

RotationZ(Single, Matrix%)
Creates a matrix that rotates around the z-axis.

RotationZ(Single)
Creates a matrix that rotates around the z-axis.

Rows[([( Int32])])
Scaling(Vector3%, Matrix%)
Creates a matrix that scales along the x-axis, y-axis, and y-axis.

Scaling(Vector3)
Creates a matrix that scales along the x-axis, y-axis, and y-axis.

Scaling(Single, Single, Single, Matrix%)
Creates a matrix that scales along the x-axis, y-axis, and y-axis.

Scaling(Single, Single, Single)
Creates a matrix that scales along the x-axis, y-axis, and y-axis.

Shadow(Vector4%, Plane%, Matrix%)
Creates a matrix that flattens geometry into a plane.

Shadow(Vector4, Plane)
Creates a matrix that flattens geometry into a plane.

Subtract(Matrix%, Matrix%, Matrix%)
Determines the difference between two matrices.

Subtract(Matrix, Matrix)
Determines the difference between two matrices.

Subtraction(Matrix, Matrix)
Subtracts two matricies.

ToArray()()()()
ToString()()()()
Converts the value of the object to its equivalent string representation.
(Overrides ValueType.ToString()()()().)
Transformation(Vector3%, Quaternion%, Vector3%, Vector3%, Quaternion%, Vector3%, Matrix%)
Creates a transformation matrix.

Transformation(Vector3, Quaternion, Vector3, Vector3, Quaternion, Vector3)
Creates a transformation matrix.

Transformation2D(Vector2%, Single, Vector2%, Vector2%, Single, Vector2%, Matrix%)
Creates a 2D transformation matrix.

Transformation2D(Vector2, Single, Vector2, Vector2, Single, Vector2)
Creates a 2D transformation matrix.

Translation(Vector3%, Matrix%)
Creates a translation matrix using the specified offsets.

Translation(Vector3)
Creates a translation matrix using the specified offsets.

Translation(Single, Single, Single, Matrix%)
Creates a translation matrix using the specified offsets.

Translation(Single, Single, Single)
Creates a translation matrix using the specified offsets.

Transpose(Matrix%, Matrix%)
Calculates the transpose of the specified matrix.

Transpose(Matrix)
Calculates the transpose of the specified matrix.

UnaryNegation(Matrix)
Negates a matrix.

Assembly: SlimDX (Module: SlimDX) Version: 2.0.11.43