Matrix.*
static Matrix *(Matrix a, Matrix b)
Multiplies two matrices together! This is a great way to combine transform operations. Note that StereoKit’s matrices are row-major, and multiplication order is important! To translate, then scale, multiply in order of ‘translate * scale’.
Matrix a | First Matrix. |
Matrix b | Second Matrix. |
RETURNS: Matrix | Result of matrix multiplication. |
static Vec3 *(Matrix a, Vec3 b)
Multiplies the vector by the Matrix! Since only a 1x4
vector can be multiplied against a 4x4 matrix, this uses ‘1’ for
the 4th element, so the result will also include translation! To
exclude translation, use Matrix.TransformNormal
.
Matrix a | A transform matrix. |
Vec3 b | Any Vector. |
RETURNS: Vec3 | The Vec3 transformed by the matrix, including translation. |
static Ray *(Matrix a, Ray b)
Transforms a Ray by the Matrix! The position and direction are both multiplied by the matrix, accounting properly for which should include translation, and which should not.
Matrix a | A transform matrix. |
Ray b | A Ray to be transformed. |
RETURNS: Ray | A Ray transformed by the Matrix. |
static Pose *(Matrix a, Pose b)
Transforms a Pose by the Matrix! The position and orientation are both transformed by the matrix, accounting properly for the Pose’s quaternion.
Matrix a | A transform matrix. |
Pose b | A Pose to be transformed. |
RETURNS: Pose | A Ray transformed by the Matrix. |
Found an issue with these docs, or have some additional questions? Create an Issue on Github!