transformMat4 function

List<double> transformMat4(
  1. List<double> out,
  2. List<double> a,
  3. List<double> m
)

Transforms the vec4 with a mat4.

@param {vec4} out the receiving vector @param {ReadonlyVec4} a the vector to transform @param {ReadonlyMat4} m matrix to transform with @returns {vec4} out

Implementation

List<double> transformMat4(List<double> out, List<double> a, List<double> m) {
  final x = a[0], y = a[1], z = a[2], w = a[3];
  out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;
  out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;
  out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;
  out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;
  return out;
}