function scaleAndAdd(out, a, b, scale) {
    out[0] = a[0] + (b[0] * scale)
    out[1] = a[1] + (b[1] * scale)
    out[2] = a[2] + (b[2] * scale)
    return out
}
Adds two vec3's after scaling the second operand by a scalar value

@param {vec3} out the receiving vector
@param {vec3} a the first operand
@param {vec3} b the second operand
@param {Number} scale the amount to scale b by before adding
@returns {vec3} out