diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-03-12 20:58:50 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-03-12 20:58:50 +0400 |
commit | bce924b43c4c5ff46eec7b340b68f37ae8e15215 (patch) | |
tree | af0d8bec8f0c2711fb8a3ebd3e6b82c5220f76ec /source/blender/blenlib/BLI_math_color.h | |
parent | 35ed7486c76f11b397d0ff131160f8629af3b49b (diff) |
HSL color wheel implementation.
This is a standard Hue - Saturation - Lightness model
(see for instance entry on wikipedia here: https://en.wikipedia.org/wiki/HSL_and_HSV)
Note though the difference between HSV and HSL saturation, which are not the same.
The advantage of having this color selection scheme is that artists can select
shades and tints of a color easily by using the lightness slider. Also colors
are arranged on (approximated) perceived lightness on the color wheel.
Beware, Old files opened with this preference saved will crash!
Reviewers: sergey, brecht, campbellbarton
Differential Revision: https://developer.blender.org/D385
Diffstat (limited to 'source/blender/blenlib/BLI_math_color.h')
-rw-r--r-- | source/blender/blenlib/BLI_math_color.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_math_color.h b/source/blender/blenlib/BLI_math_color.h index 3892c98e140..8a6bc35141c 100644 --- a/source/blender/blenlib/BLI_math_color.h +++ b/source/blender/blenlib/BLI_math_color.h @@ -55,6 +55,8 @@ extern "C" { void hsv_to_rgb(float h, float s, float v, float *r, float *g, float *b); void hsv_to_rgb_v(const float hsv[3], float r_rgb[3]); +void hsl_to_rgb(float h, float c, float l, float *r, float *g, float *b); +void hsl_to_rgb_v(const float hcl[3], float r_rgb[3]); void hex_to_rgb(char *hexcol, float *r, float *g, float *b); void yuv_to_rgb(float y, float u, float v, float *lr, float *lg, float *lb); void ycc_to_rgb(float y, float cb, float cr, float *lr, float *lg, float *lb, int colorspace); @@ -69,6 +71,8 @@ void rgb_to_hsv(float r, float g, float b, float *lh, float *ls, float *lv); void rgb_to_hsv_v(const float rgb[3], float r_hsv[3]); void rgb_to_hsl(float r, float g, float b, float *lh, float *ls, float *ll); void rgb_to_hsl_v(const float rgb[3], float r_hsl[3]); +void rgb_to_hsl_compat(float r, float g, float b, float *lh, float *ls, float *ll); +void rgb_to_hsl_compat_v(const float rgb[3], float r_hsl[3]); void rgb_to_hsv_compat(float r, float g, float b, float *lh, float *ls, float *lv); void rgb_to_hsv_compat_v(const float rgb[3], float r_hsv[3]); void rgb_to_lab(float r, float g, float b, float *ll, float *la, float *lb); |