color and gradient interpolation