- r *= pow( rgain, 1.0f / rgamma );
- g *= pow( ggain, 1.0f / ggamma );
- b *= pow( bgain, 1.0f / bgamma );
+ r *= pow( rgain, 1.0 / rgamma );
+ g *= pow( ggain, 1.0 / ggamma );
+ b *= pow( bgain, 1.0 / bgamma );
+
+ // Clamp values
+ r = r < 0.0 ? 0.0 : r > 1.0 ? 1.0 : r;
+ g = g < 0.0 ? 0.0 : g > 1.0 ? 1.0 : g;
+ b = b < 0.0 ? 0.0 : b > 1.0 ? 1.0 : b;