diff options
author | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2013-11-20 23:02:00 +0400 |
---|---|---|
committer | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2013-11-21 07:43:38 +0400 |
commit | 98bf859efc1835c9df28d7727854438de81825a7 (patch) | |
tree | 86c445090241fbd8b8ba35080bd4a86429d45cc4 /source/blender/gpu | |
parent | ac021a42addfde0ea3ea8437936142718f4a786c (diff) |
Blender Internal: Add shader nodes "Separate HSV" and "Combine HSV", same as Cycles' ones.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 5e5fac3049c..b2c7c2e3cef 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -735,6 +735,21 @@ void combine_rgb(float r, float g, float b, out vec4 col) col = vec4(r, g, b, 1.0); } +void separate_hsv(vec4 col, out float h, out float s, out float v) +{ + vec4 hsv; + + rgb_to_hsv(col, hsv); + h = hsv[0]; + s = hsv[1]; + v = hsv[2]; +} + +void combine_hsv(float h, float s, float v, out vec4 col) +{ + hsv_to_rgb(vec4(h, s, v, 1.0), col); +} + void output_node(vec4 rgb, float alpha, out vec4 outrgb) { outrgb = vec4(rgb.rgb, alpha); |