diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-03-18 16:09:03 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-03-18 16:09:03 +0300 |
commit | 9231d35caac39bf4e444cb08979859c313963a53 (patch) | |
tree | 682dd369413fedb4711a33c86e9ac375a682c1f1 /source/blender/gpu | |
parent | 72419eebc26ca17c588b3d7fe5ccbb0f22d33ad4 (diff) |
Simplify math in mix_linear glsl function. Thanks to valentin for
pointing out on irc.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 945b7ef303f..5268dea5d55 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -698,22 +698,7 @@ void mix_linear(float fac, vec4 col1, vec4 col2, out vec4 outcol) { fac = clamp(fac, 0.0, 1.0); - outcol = col1; - - if(col2.r > 0.5) - outcol.r= col1.r + fac*(2.0*(col2.r - 0.5)); - else - outcol.r= col1.r + fac*(2.0*(col2.r) - 1.0); - - if(col2.g > 0.5) - outcol.g= col1.g + fac*(2.0*(col2.g - 0.5)); - else - outcol.g= col1.g + fac*(2.0*(col2.g) - 1.0); - - if(col2.b > 0.5) - outcol.b= col1.b + fac*(2.0*(col2.b - 0.5)); - else - outcol.b= col1.b + fac*(2.0*(col2.b) - 1.0); + outcol = col1 + fac*(2.0*(col2 - vec4(0.5))); } void valtorgb(float fac, sampler2D colormap, out vec4 outcol, out float outalpha) |