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:
Diffstat (limited to 'source/blender/blenlib/intern/math_color_inline.c')
-rw-r--r--source/blender/blenlib/intern/math_color_inline.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/source/blender/blenlib/intern/math_color_inline.c b/source/blender/blenlib/intern/math_color_inline.c
index 2c7b13b86a2..386452ed592 100644
--- a/source/blender/blenlib/intern/math_color_inline.c
+++ b/source/blender/blenlib/intern/math_color_inline.c
@@ -62,32 +62,20 @@ MINLINE void linearrgb_to_srgb_v4(float srgb[4], const float linear[4])
srgb[3] = linear[3];
}
-MINLINE void linearrgb_to_srgb_uchar3(unsigned char srgb[4], const float linear[4])
+MINLINE void linearrgb_to_srgb_uchar3(unsigned char srgb[3], const float linear[3])
{
- int r, g, b;
+ float srgb_f[3];
- r = 255 * linearrgb_to_srgb(linear[0]);
- g = 255 * linearrgb_to_srgb(linear[1]);
- b = 255 * linearrgb_to_srgb(linear[2]);
-
- srgb[0] = FTOCHAR(r);
- srgb[1] = FTOCHAR(g);
- srgb[2] = FTOCHAR(b);
+ linearrgb_to_srgb_v3_v3(srgb_f, linear);
+ F3TOCHAR3(srgb_f, srgb);
}
MINLINE void linearrgb_to_srgb_uchar4(unsigned char srgb[4], const float linear[4])
{
- int r, g, b, a;
-
- r = 255 * linearrgb_to_srgb(linear[0]);
- g = 255 * linearrgb_to_srgb(linear[1]);
- b = 255 * linearrgb_to_srgb(linear[2]);
- a = 255 * linear[3];
+ float srgb_f[4];
- srgb[0] = FTOCHAR(r);
- srgb[1] = FTOCHAR(g);
- srgb[2] = FTOCHAR(b);
- srgb[3] = FTOCHAR(a);
+ linearrgb_to_srgb_v4(srgb_f, linear);
+ F4TOCHAR4(srgb_f, srgb);
}
/* predivide versions to work on associated/premultipled alpha. if this should