[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11447] branches/soc-2007-maike/release/ glsl: GLSL colorbands blend functions all corrected

Miguel Torres Lima torreslima at gmail.com
Tue Jul 31 18:34:48 CEST 2007


Revision: 11447
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11447
Author:   maike
Date:     2007-07-31 18:34:48 +0200 (Tue, 31 Jul 2007)

Log Message:
-----------
GLSL colorbands blend functions all corrected
(energy as input still has flaws)

Modified Paths:
--------------
    branches/soc-2007-maike/release/glsl/colorband_blend_div.gsl
    branches/soc-2007-maike/release/glsl/colorband_hsv_rgb.gsl

Modified: branches/soc-2007-maike/release/glsl/colorband_blend_div.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/colorband_blend_div.gsl	2007-07-31 16:11:32 UTC (rev 11446)
+++ branches/soc-2007-maike/release/glsl/colorband_blend_div.gsl	2007-07-31 16:34:48 UTC (rev 11447)
@@ -1,7 +1,7 @@
 vec3 colorband_blend_div(vec3 shader, vec3 colband, float fac)
 {
   float facm = 1.0 - fac;
-  vec3 color = vec3(0.0, 0.0, 0.0);
+  vec3 color = colband;
   
   if(shader.r != 0.0)
     color.r = facm * colband.r + fac * colband.r / shader.r;
@@ -14,3 +14,4 @@
 
   return color;
 }
+

Modified: branches/soc-2007-maike/release/glsl/colorband_hsv_rgb.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/colorband_hsv_rgb.gsl	2007-07-31 16:11:32 UTC (rev 11446)
+++ branches/soc-2007-maike/release/glsl/colorband_hsv_rgb.gsl	2007-07-31 16:34:48 UTC (rev 11447)
@@ -5,32 +5,44 @@
   vec3 tmp = input;
   vec3 color = vec3(0.0, 0.0, 0.0);
 
-  if(tmp.g == 0.0) tmp.g = 0.00001;
+  if(tmp.g == 0.0) tmp.g = 0.000001;
   if(tmp.r == -1.0) color = vec3(input.b, input.b, input.b);
   
   else{
     if(tmp.r == 360.0) tmp.r = 0.0;
     tmp.r = tmp.r / 60.0;
-    i = tmp.r;
+   
+    if(tmp.r >= 5.0)
+      i = 5.0;
+    else if(tmp.r >= 4.0)
+      i = 4.0;
+    else if(tmp.r >= 3.0)
+      i = 3.0;
+    else if(tmp.r >= 2.0)
+      i = 2.0;
+    else if(tmp.r >= 1.0)
+      i = 1.0;
+    else
+      i = 0.0;
+   
     f = tmp.r - i;
     w = tmp.b * (1.0 - tmp.g);
     q = tmp.b * (1.0 - (tmp.g * f));
     t = tmp.b * (1.0 - (tmp.g * (1.0 - f)));
 
-    if(i >= 0.0)
+    if(i == 0.0)
       color = vec3(input.b, t, w);
-    if(i >= 1.0)
+    if(i == 1.0)
       color = vec3(q, input.b, w);
-    if(i >= 2.0)
+    if(i == 2.0)
       color = vec3(w, input.b, t);
-    if(i >= 3.0)
+    if(i == 3.0)
       color = vec3(w, q, input.b);
-    if(i >= 4.0)
+    if(i == 4.0)
       color = vec3(t, w, input.b);
-    if(i >= 5.0)
+    if(i == 5.0)
       color = vec3(input.b, w, q);
   }
 
   return(color);
-}
-
+}     





More information about the Bf-blender-cvs mailing list