Revision: 17313
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17313
Author:   broken
Date:     2008-11-04 01:15:27 +0100 (Tue, 04 Nov 2008)

Log Message:
-----------
Added a new interpolation type for colorbands: Constant
This can be useful for toon shading etc.

Example: http://mke3.net/blender/etc/constant_ss.png

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/texture.c
    trunk/blender/source/blender/src/buttons_shading.c

Modified: trunk/blender/source/blender/blenkernel/intern/texture.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/texture.c    2008-11-03 
23:35:41 UTC (rev 17312)
+++ trunk/blender/source/blender/blenkernel/intern/texture.c    2008-11-04 
00:15:27 UTC (rev 17313)
@@ -348,6 +348,15 @@
                                else
                                        fac= 0.0f;
                                
+                               if (coba->ipotype==4) {
+                                       /* constant */
+                                       out[0]= cbd1->r;
+                                       out[1]= cbd1->g;
+                                       out[2]= cbd1->b;
+                                       out[3]= cbd1->a;
+                                       return 1;
+                               }
+                               
                                if(coba->ipotype>=2) {
                                        /* ipo from right to left: 3 2 1 0 */
                                        

Modified: trunk/blender/source/blender/src/buttons_shading.c
===================================================================
--- trunk/blender/source/blender/src/buttons_shading.c  2008-11-03 23:35:41 UTC 
(rev 17312)
+++ trunk/blender/source/blender/src/buttons_shading.c  2008-11-04 00:15:27 UTC 
(rev 17313)
@@ -1468,10 +1468,9 @@
        uiDefButS(block, NUM, redraw,           "Cur:",         
117+xoffs,95+yoffs,81,20, &coba->cur, 0.0, (float)(coba->tot-1), 0, 0, 
"Displays the active color from the colorband");
        bt= uiDefBut(block, BUT, redraw,                "Del",          
199+xoffs,95+yoffs,37,20, 0, 0, 0, 0, 0, "Deletes the active position");
        uiButSetFunc(bt, colorband_del_cb, coba, NULL);
-       uiDefButS(block, ROW, redraw,            "E",           
236+xoffs,95+yoffs,16,20, &coba->ipotype, 5.0, 1.0, 0, 0, "Sets interpolation 
type 'Ease' (quadratic) ");
-       uiDefButS(block, ROW, redraw,           "C",            
252+xoffs,95+yoffs,16,20, &coba->ipotype, 5.0, 3.0, 0, 0, "Sets interpolation 
type Cardinal");
-       uiDefButS(block, ROW, redraw,           "L",            
268+xoffs,95+yoffs,16,20, &coba->ipotype, 5.0, 0.0, 0, 0, "Sets interpolation 
type Linear");
-       uiDefButS(block, ROW, redraw,           "S",            
284+xoffs,95+yoffs,16,20, &coba->ipotype, 5.0, 2.0, 0, 0, "Sets interpolation 
type B-Spline");
+       
+       uiDefButS(block, MENU, redraw,          "Interpolation %t|Ease 
%x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4",
+               236+xoffs, 95+yoffs, 64, 20,            &coba->ipotype, 0.0, 
0.0, 0, 0, "Sets interpolation type");
 
        uiDefBut(block, BUT_COLORBAND, redraw, "",      xoffs,65+yoffs,300,30, 
coba, 0, 0, 0, 0, "");
        
@@ -1506,11 +1505,10 @@
        uiButSetFunc(bt, colorband_add_cb, coba, NULL);
        bt= uiDefBut(block, BUT, event, "Del",          
xs+8.0f*unit,butr->ymin+20.0f,2.0f*unit,20,     NULL, 0, 0, 0, 0, "Deletes the 
active position");
        uiButSetFunc(bt, colorband_del_cb, coba, NULL);
-       uiDefButS(block, ROW, event,            "E",            
xs+10.0f*unit,butr->ymin+20.0f,unit,20,         &coba->ipotype, 5.0, 1.0, 0, 0, 
"Sets interpolation type 'Ease' (quadratic) ");
-       uiDefButS(block, ROW, event,            "C",            
xs+11.0f*unit,butr->ymin+20.0f,unit,20,         &coba->ipotype, 5.0, 3.0, 0, 0, 
"Sets interpolation type Cardinal");
-       uiDefButS(block, ROW, event,            "L",            
xs+12.0f*unit,butr->ymin+20.0f,unit,20,         &coba->ipotype, 5.0, 0.0, 0, 0, 
"Sets interpolation type Linear");
-       uiDefButS(block, ROW, event,            "S",            
xs+13.0f*unit,butr->ymin+20.0f,unit,20,         &coba->ipotype, 5.0, 2.0, 0, 0, 
"Sets interpolation type B-Spline");
-       
+
+       uiDefButS(block, MENU, event,           "Interpolation %t|Ease 
%x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4",
+               xs+10.0f*unit, butr->ymin+20.0f, unit*4, 20,            
&coba->ipotype, 0.0, 0.0, 0, 0, "Sets interpolation type");
+
        uiDefBut(block, BUT_COLORBAND, event, "",               
xs,butr->ymin,butr->xmax-butr->xmin,20.0f, coba, 0, 0, 0, 0, "");
        uiBlockEndAlign(block);
        


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to