Created by: DolphinDream
This is a generalization of the "matrix normal" node, and it takes a set of 3 vectors T,B,N (orthonormalized or not) and generates a homogeneous matrix that transforms the orthonormal XYZ axes such that they align with the given 3 vectors, based on a given XYZ to TBN one to one mapping provided by the node. If the 3 given vectors TBN are orthonormal (and right-handed), the generated matrix is in essence a "basis change matrix" between XYZ and TBN. If the 3 vectors TBN are not orthonormal, the node will align the XYZ axes to the 3 given vectors TBN based on an "orthogonalization order" setting provided by the node.
Example:
If the orthogonalizing order is ZXY and Z is mapped to T and X is mapped to N, the Z axis (having the highest priority) will be aligned precisely with T, while X will be perpendicular to Z and lie within the plane defined by T and N (so N is loosly determining the direction of X). The last axis, Y is derived automatically to be orthonormal to the ZX plane.