src/m4.js
function scale(m, v, dst) {
  dst = dst || new MatType(16);

  const v0 = v[0];
  const v1 = v[1];
  const v2 = v[2];

  dst[ 0] = v0 * m[0 * 4 + 0];
  dst[ 1] = v0 * m[0 * 4 + 1];
  dst[ 2] = v0 * m[0 * 4 + 2];
  dst[ 3] = v0 * m[0 * 4 + 3];
  dst[ 4] = v1 * m[1 * 4 + 0];
  dst[ 5] = v1 * m[1 * 4 + 1];
  dst[ 6] = v1 * m[1 * 4 + 2];
  dst[ 7] = v1 * m[1 * 4 + 3];
  dst[ 8] = v2 * m[2 * 4 + 0];
  dst[ 9] = v2 * m[2 * 4 + 1];
  dst[10] = v2 * m[2 * 4 + 2];
  dst[11] = v2 * m[2 * 4 + 3];

  if (m !== dst) {
    dst[12] = m[12];
    dst[13] = m[13];
    dst[14] = m[14];
    dst[15] = m[15];
  }

  return dst;
}
function scale(m, v, dst) {
  dst = dst || new MatType(16);

  const v0 = v[0];
  const v1 = v[1];
  const v2 = v[2];

  dst[ 0] = v0 * m[0 * 4 + 0];
  dst[ 1] = v0 * m[0 * 4 + 1];
  dst[ 2] = v0 * m[0 * 4 + 2];
  dst[ 3] = v0 * m[0 * 4 + 3];
  dst[ 4] = v1 * m[1 * 4 + 0];
  dst[ 5] = v1 * m[1 * 4 + 1];
  dst[ 6] = v1 * m[1 * 4 + 2];
  dst[ 7] = v1 * m[1 * 4 + 3];
  dst[ 8] = v2 * m[2 * 4 + 0];
  dst[ 9] = v2 * m[2 * 4 + 1];
  dst[10] = v2 * m[2 * 4 + 2];
  dst[11] = v2 * m[2 * 4 + 3];

  if (m !== dst) {
    dst[12] = m[12];
    dst[13] = m[13];
    dst[14] = m[14];
    dst[15] = m[15];
  }

  return dst;
}
function scale ( m , v , dst ) { dst = dst || new MatType ( 16 ) ; const v0 = v [ 0 ] ; const v1 = v [ 1 ] ; const v2 = v [ 2 ] ; dst [ 0 ] = v0 * m [ 0 * 4 + 0 ] ; dst [ 1 ] = v0 * m [ 0 * 4 + 1 ] ; dst [ 2 ] = v0 * m [ 0 * 4 + 2 ] ; dst [ 3 ] = v0 * m [ 0 * 4 + 3 ] ; dst [ 4 ] = v1 * m [ 1 * 4 + 0 ] ; dst [ 5 ] = v1 * m [ 1 * 4 + 1 ] ; dst [ 6 ] = v1 * m [ 1 * 4 + 2 ] ; dst [ 7 ] = v1 * m [ 1 * 4 + 3 ] ; dst [ 8 ] = v2 * m [ 2 * 4 + 0 ] ; dst [ 9 ] = v2 * m [ 2 * 4 + 1 ] ; dst [ 10 ] = v2 * m [ 2 * 4 + 2 ] ; dst [ 11 ] = v2 * m [ 2 * 4 + 3 ] ; if ( m !== dst ) { dst [ 12 ] = m [ 12 ] ; dst [ 13 ] = m [ 13 ] ; dst [ 14 ] = m [ 14 ] ; dst [ 15 ] = m [ 15 ] ; } return dst ; }
Modifies the given 4-by-4 matrix, scaling in each dimension by an amount
given by the corresponding entry in the given vector; assumes the vector has
three entries.
@param {module:twgl/m4.Mat4} m The matrix to be modified.
@param {module:twgl/v3.Vec3} v A vector of three entries specifying the
factor by which to scale in each dimension.
@param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..
@return {module:twgl/m4.Mat4} m once modified.
@memberOf module:twgl/m4
Modifies the given 4 - by - 4 matrix scaling in each dimension by an amount given by the corresponding entry in the given vector ; assumes the vector has three entries .