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

  const v0 = v[0];
  const v1 = v[1];
  const v2 = v[2];
  const m00 = m[0];
  const m01 = m[1];
  const m02 = m[2];
  const m03 = m[3];
  const m10 = m[1 * 4 + 0];
  const m11 = m[1 * 4 + 1];
  const m12 = m[1 * 4 + 2];
  const m13 = m[1 * 4 + 3];
  const m20 = m[2 * 4 + 0];
  const m21 = m[2 * 4 + 1];
  const m22 = m[2 * 4 + 2];
  const m23 = m[2 * 4 + 3];
  const m30 = m[3 * 4 + 0];
  const m31 = m[3 * 4 + 1];
  const m32 = m[3 * 4 + 2];
  const m33 = m[3 * 4 + 3];

  if (m !== dst) {
    dst[ 0] = m00;
    dst[ 1] = m01;
    dst[ 2] = m02;
    dst[ 3] = m03;
    dst[ 4] = m10;
    dst[ 5] = m11;
    dst[ 6] = m12;
    dst[ 7] = m13;
    dst[ 8] = m20;
    dst[ 9] = m21;
    dst[10] = m22;
    dst[11] = m23;
  }

  dst[12] = m00 * v0 + m10 * v1 + m20 * v2 + m30;
  dst[13] = m01 * v0 + m11 * v1 + m21 * v2 + m31;
  dst[14] = m02 * v0 + m12 * v1 + m22 * v2 + m32;
  dst[15] = m03 * v0 + m13 * v1 + m23 * v2 + m33;

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

  const v0 = v[0];
  const v1 = v[1];
  const v2 = v[2];
  const m00 = m[0];
  const m01 = m[1];
  const m02 = m[2];
  const m03 = m[3];
  const m10 = m[1 * 4 + 0];
  const m11 = m[1 * 4 + 1];
  const m12 = m[1 * 4 + 2];
  const m13 = m[1 * 4 + 3];
  const m20 = m[2 * 4 + 0];
  const m21 = m[2 * 4 + 1];
  const m22 = m[2 * 4 + 2];
  const m23 = m[2 * 4 + 3];
  const m30 = m[3 * 4 + 0];
  const m31 = m[3 * 4 + 1];
  const m32 = m[3 * 4 + 2];
  const m33 = m[3 * 4 + 3];

  if (m !== dst) {
    dst[ 0] = m00;
    dst[ 1] = m01;
    dst[ 2] = m02;
    dst[ 3] = m03;
    dst[ 4] = m10;
    dst[ 5] = m11;
    dst[ 6] = m12;
    dst[ 7] = m13;
    dst[ 8] = m20;
    dst[ 9] = m21;
    dst[10] = m22;
    dst[11] = m23;
  }

  dst[12] = m00 * v0 + m10 * v1 + m20 * v2 + m30;
  dst[13] = m01 * v0 + m11 * v1 + m21 * v2 + m31;
  dst[14] = m02 * v0 + m12 * v1 + m22 * v2 + m32;
  dst[15] = m03 * v0 + m13 * v1 + m23 * v2 + m33;

  return dst;
}
function translate ( m , v , dst ) { dst = dst || new MatType ( 16 ) ; const v0 = v [ 0 ] ; const v1 = v [ 1 ] ; const v2 = v [ 2 ] ; const m00 = m [ 0 ] ; const m01 = m [ 1 ] ; const m02 = m [ 2 ] ; const m03 = m [ 3 ] ; const m10 = m [ 1 * 4 + 0 ] ; const m11 = m [ 1 * 4 + 1 ] ; const m12 = m [ 1 * 4 + 2 ] ; const m13 = m [ 1 * 4 + 3 ] ; const m20 = m [ 2 * 4 + 0 ] ; const m21 = m [ 2 * 4 + 1 ] ; const m22 = m [ 2 * 4 + 2 ] ; const m23 = m [ 2 * 4 + 3 ] ; const m30 = m [ 3 * 4 + 0 ] ; const m31 = m [ 3 * 4 + 1 ] ; const m32 = m [ 3 * 4 + 2 ] ; const m33 = m [ 3 * 4 + 3 ] ; if ( m !== dst ) { dst [ 0 ] = m00 ; dst [ 1 ] = m01 ; dst [ 2 ] = m02 ; dst [ 3 ] = m03 ; dst [ 4 ] = m10 ; dst [ 5 ] = m11 ; dst [ 6 ] = m12 ; dst [ 7 ] = m13 ; dst [ 8 ] = m20 ; dst [ 9 ] = m21 ; dst [ 10 ] = m22 ; dst [ 11 ] = m23 ; } dst [ 12 ] = m00 * v0 + m10 * v1 + m20 * v2 + m30 ; dst [ 13 ] = m01 * v0 + m11 * v1 + m21 * v2 + m31 ; dst [ 14 ] = m02 * v0 + m12 * v1 + m22 * v2 + m32 ; dst [ 15 ] = m03 * v0 + m13 * v1 + m23 * v2 + m33 ; return dst ; }
Modifies the given 4-by-4 matrix by translation by the given vector v.
@param {module:twgl/m4.Mat4} m The matrix.
@param {module:twgl/v3.Vec3} v The vector by
which to translate.
@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 by translation by the given vector v .