DVMat4.compose constructor
Translation * rotation * scale, the order glTF and the engine compose a node's local transform in.
Implementation
factory DVMat4.compose(DVVec3 t, DVQuat r, DVVec3 s) {
final double x2 = r.x + r.x, y2 = r.y + r.y, z2 = r.z + r.z;
final double xx = r.x * x2, xy = r.x * y2, xz = r.x * z2;
final double yy = r.y * y2, yz = r.y * z2, zz = r.z * z2;
final double wx = r.w * x2, wy = r.w * y2, wz = r.w * z2;
return DVMat4._(Float64List(16)
..[0] = (1 - (yy + zz)) * s.x
..[1] = (xy + wz) * s.x
..[2] = (xz - wy) * s.x
..[4] = (xy - wz) * s.y
..[5] = (1 - (xx + zz)) * s.y
..[6] = (yz + wx) * s.y
..[8] = (xz + wy) * s.z
..[9] = (yz - wx) * s.z
..[10] = (1 - (xx + yy)) * s.z
..[12] = t.x
..[13] = t.y
..[14] = t.z
..[15] = 1);
}