function lerp(out, a, b, t) {
    var ax = a[0];
    var ay = a[1];
    var az = a[2];
    out[0] = ax + t * (b[0] - ax);
    out[1] = ay + t * (b[1] - ay);
    out[2] = az + t * (b[2] - az);
    return out;
  }
Performs a linear interpolation between two vec3's

@param {vec3} out the receiving vector
@param {vec3} a the first operand
@param {vec3} b the second operand
@param {Number} t interpolation amount, in the range [0-1], between the two inputs
@returns {vec3} out