Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-08-24 06:56:34 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-08-24 06:56:34 +0400
commit38cd35c2adad2d2e6c02eecbe7bb0c76f3542ead (patch)
treeb72c1c854983edb2cdd1c4f56270b19599ede70b /source/blender/blenkernel/intern/texture.c
parenta4c5570aba1374ad7c75b65b553810fabe57d931 (diff)
ColorRamp: remove linear/srgb conversions
Turns out these aren't needed
Diffstat (limited to 'source/blender/blenkernel/intern/texture.c')
-rw-r--r--source/blender/blenkernel/intern/texture.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 76233a4ed77..47b08613431 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -431,48 +431,28 @@ bool do_colorband(const ColorBand *coba, float in, float out[4])
if (UNLIKELY(coba->color_mode == COLBAND_BLEND_HSV)) {
float col1[3], col2[3];
- linearrgb_to_srgb_v3_v3(col1, &cbd1->r);
- linearrgb_to_srgb_v3_v3(col2, &cbd2->r);
-
- rgb_to_hsv_v(col1, col1);
- rgb_to_hsv_v(col2, col2);
-
- col1[2] = srgb_to_linearrgb(col1[2]);
- col2[2] = srgb_to_linearrgb(col2[2]);
+ rgb_to_hsv_v(&cbd1->r, col1);
+ rgb_to_hsv_v(&cbd2->r, col2);
out[0] = colorband_hue_interp(coba->ipotype_hue, mfac, fac, col1[0], col2[0]);
out[1] = mfac * col1[1] + fac * col2[1];
out[2] = mfac * col1[2] + fac * col2[2];
out[3] = mfac * cbd1->a + fac * cbd2->a;
- out[2] = linearrgb_to_srgb(out[2]);
-
hsv_to_rgb_v(out, out);
-
- srgb_to_linearrgb_v3_v3(out, out);
}
else if (UNLIKELY(coba->color_mode == COLBAND_BLEND_HSL)) {
float col1[3], col2[3];
- linearrgb_to_srgb_v3_v3(col1, &cbd1->r);
- linearrgb_to_srgb_v3_v3(col2, &cbd2->r);
-
- col1[2] = srgb_to_linearrgb(col1[2]);
- col2[2] = srgb_to_linearrgb(col2[2]);
-
- rgb_to_hsl_v(col1, col1);
- rgb_to_hsl_v(col2, col2);
+ rgb_to_hsl_v(&cbd1->r, col1);
+ rgb_to_hsl_v(&cbd2->r, col2);
out[0] = colorband_hue_interp(coba->ipotype_hue, mfac, fac, col1[0], col2[0]);
out[1] = mfac * col1[1] + fac * col2[1];
out[2] = mfac * col1[2] + fac * col2[2];
out[3] = mfac * cbd1->a + fac * cbd2->a;
- out[2] = linearrgb_to_srgb(out[2]);
-
hsl_to_rgb_v(out, out);
-
- srgb_to_linearrgb_v3_v3(out, out);
}
else {
/* COLBAND_BLEND_RGB */