Identity | This node creates an identity matrix. | |
Zero | This node creates a matrix containing only zeros. | |
Manual | This node provides a matrix where every element can be set manually. | |
Rotation XYZ | This node provides a matrix to rotate around the X, Y or Z axis. | |
Scaling | This node provides a matrix to scale along the X, Y and Z axis. | |
Translation | This node provides a matrix to translate along the X, Y and Z axis. | |
Matrix Switch | This node switches between one of eight input matrices and passes it to the output. | |
Matrix Morph | This node interpolates linearly between two input matrices. | |
Matrix Operation | This node multiplies, divides, add or subtracts two or more 4x4 matrices. | |
Vector Transform | This node transforms a vector (X,Y,Z,W) by a 4x4 matrix and optionally de-homogenizes the result. |
The Matrix Nodes provide special types of matrices that can be used as Input Properties for the World Transformation or View and Projection of the Camera.
The Matrix Operation node is usually used to multiply matrices and thus perform a concatenation of matrix transformations. It can, however, also perform element-wise division, addition or subtraction. Each input operand as well the result matrix can be optionally inverted and/or transposed.
Matrix multiplication is a non-commutative operation and the result of multiplying A * B is in general different from B * A.
The Vector Transform node can be used to multiply a vector with a matrix. This is often used to transform coordinates from one space into another. For example, an object-space coordinate can be transformed to the view-space by multiplication with the World matrix as provided by the Get World node.
Realtime 3D graphics use 4-component vectors and matrices to be able to perform operations like projection which are not possible by just using the 3 components x/y/z. Oversimplified, a homogenous coordinate w of 1 indicates that the vector represents a point in 3D space, a value of 0 indicates a direction vector and other values usually only arise as the result of multiplying a vector with a projection matrix. To get the actual result of the projection, the vector has to be de-homogenized by dividing all components by w. This is automatically done if the Dehomo property is checked.
For more information on vector transformations and spaces, the reader is referred to a linear algebra text book or introductory 3D graphics programming books like Realtime Rendering by Möller and Haines.