Если эта цветовая интерполяция работает исключительно в цветовом пространстве RGB, вам необходимо извлечь компоненты цвета и применить следующую арифметику к каждому компоненту
r1 = red(c1)
r2 = red(c2)
result_red = (1-amount) * r1 + amount * r2
or
result_red = r1 + amount * (r2 - r1)
...
return(color(result_red, result_green, result_blue));