diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-12-23 02:07:52 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-01-11 18:00:23 +0300 |
commit | 3bc87227f51548e0c781f5747bd2c8a66bb9cea3 (patch) | |
tree | a73cf8cbab7781f105490f70c3b593f78803fb84 /source/blender/gpu | |
parent | 55ddb21b7ca79664922699a383130881b7761f43 (diff) |
GPUMaterial: Cleanup / optimization
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 6c7c8f24f51..c86efdef7a8 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -856,12 +856,9 @@ void hue_sat(float hue, float sat, float value, float fac, vec4 col, out vec4 ou rgb_to_hsv(col, hsv); - hsv[0] += (hue - 0.5); - if (hsv[0] > 1.0) hsv[0] -= 1.0; else if (hsv[0] < 0.0) hsv[0] += 1.0; - hsv[1] *= sat; - if (hsv[1] > 1.0) hsv[1] = 1.0; else if (hsv[1] < 0.0) hsv[1] = 0.0; - hsv[2] *= value; - if (hsv[2] > 1.0) hsv[2] = 1.0; else if (hsv[2] < 0.0) hsv[2] = 0.0; + hsv[0] = fract(hsv[0] + (hue - 0.5)); + hsv[1] = clamp(hsv[1] * sat, 0.0, 1.0); + hsv[2] = clamp(hsv[2] * value, 0.0, 1.0); hsv_to_rgb(hsv, outcol); |