QuaternionToMatrix function

Matrix4 QuaternionToMatrix(
  1. Quaternion q
)

Rotation matrix from quaternion (column-major Matrix4).

Implementation

Matrix4 QuaternionToMatrix(Quaternion q) => Matrix4(
  1 - 2 * (q.y * q.y + q.z * q.z),
  2 * (q.x * q.y + q.w * q.z),
  2 * (q.x * q.z - q.w * q.y),
  0,
  2 * (q.x * q.y - q.w * q.z),
  1 - 2 * (q.x * q.x + q.z * q.z),
  2 * (q.y * q.z + q.w * q.x),
  0,
  2 * (q.x * q.z + q.w * q.y),
  2 * (q.y * q.z - q.w * q.x),
  1 - 2 * (q.x * q.x + q.y * q.y),
  0,
  0,
  0,
  0,
  1,
);