[Bf-blender-cvs] [9231d35] master: Simplify math in mix_linear glsl function. Thanks to valentin for pointing out on irc.

Antony Riakiotakis noreply at git.blender.org
Wed Mar 18 14:09:12 CET 2015


Commit: 9231d35caac39bf4e444cb08979859c313963a53
Author: Antony Riakiotakis
Date:   Wed Mar 18 14:09:03 2015 +0100
Branches: master
https://developer.blender.org/rB9231d35caac39bf4e444cb08979859c313963a53

Simplify math in mix_linear glsl function. Thanks to valentin for
pointing out on irc.

===================================================================

M	source/blender/gpu/shaders/gpu_shader_material.glsl

===================================================================

diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index 945b7ef..5268dea 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)




More information about the Bf-blender-cvs mailing list