Revision: 15521
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15521
Author:   blendix
Date:     2008-07-10 17:30:35 +0200 (Thu, 10 Jul 2008)

Log Message:
-----------

Fix for bug #17292: vertex paint blur darkens the colors as you
paint, due to old optimization to use >>8, but this is equivalent
to /256, and it should be /255.

Modified Paths:
--------------
    trunk/blender/source/blender/src/vpaint.c

Modified: trunk/blender/source/blender/src/vpaint.c
===================================================================
--- trunk/blender/source/blender/src/vpaint.c   2008-07-10 15:15:47 UTC (rev 
15520)
+++ trunk/blender/source/blender/src/vpaint.c   2008-07-10 15:30:35 UTC (rev 
15521)
@@ -566,9 +566,9 @@
        cp=  (char *)&col;
        
        cp[0]= 255;
-       cp[1]= (mfac*cp1[1]+fac*cp2[1])>>8;
-       cp[2]= (mfac*cp1[2]+fac*cp2[2])>>8;
-       cp[3]= (mfac*cp1[3]+fac*cp2[3])>>8;
+       cp[1]= (mfac*cp1[1]+fac*cp2[1])/255;
+       cp[2]= (mfac*cp1[2]+fac*cp2[2])/255;
+       cp[3]= (mfac*cp1[3]+fac*cp2[3])/255;
        
        return col;
 }
@@ -586,11 +586,11 @@
        cp=  (char *)&col;
        
        cp[0]= 255;
-       temp= cp1[1] + ((fac*cp2[1])>>8);
+       temp= cp1[1] + ((fac*cp2[1])/255);
        if(temp>254) cp[1]= 255; else cp[1]= temp;
-       temp= cp1[2] + ((fac*cp2[2])>>8);
+       temp= cp1[2] + ((fac*cp2[2])/255);
        if(temp>254) cp[2]= 255; else cp[2]= temp;
-       temp= cp1[3] + ((fac*cp2[3])>>8);
+       temp= cp1[3] + ((fac*cp2[3])/255);
        if(temp>254) cp[3]= 255; else cp[3]= temp;
        
        return col;
@@ -609,11 +609,11 @@
        cp=  (char *)&col;
        
        cp[0]= 255;
-       temp= cp1[1] - ((fac*cp2[1])>>8);
+       temp= cp1[1] - ((fac*cp2[1])/255);
        if(temp<0) cp[1]= 0; else cp[1]= temp;
-       temp= cp1[2] - ((fac*cp2[2])>>8);
+       temp= cp1[2] - ((fac*cp2[2])/255);
        if(temp<0) cp[2]= 0; else cp[2]= temp;
-       temp= cp1[3] - ((fac*cp2[3])>>8);
+       temp= cp1[3] - ((fac*cp2[3])/255);
        if(temp<0) cp[3]= 0; else cp[3]= temp;
        
        return col;
@@ -635,9 +635,9 @@
        
        /* first mul, then blend the fac */
        cp[0]= 255;
-       cp[1]= (mfac*cp1[1] + fac*((cp2[1]*cp1[1])>>8)  )>>8;
-       cp[2]= (mfac*cp1[2] + fac*((cp2[2]*cp1[2])>>8)  )>>8;
-       cp[3]= (mfac*cp1[3] + fac*((cp2[3]*cp1[3])>>8)  )>>8;
+       cp[1]= (mfac*cp1[1] + fac*((cp2[1]*cp1[1])/255)  )/255;
+       cp[2]= (mfac*cp1[2] + fac*((cp2[2]*cp1[2])/255)  )/255;
+       cp[3]= (mfac*cp1[3] + fac*((cp2[3]*cp1[3])/255)  )/255;
 
        
        return col;
@@ -664,9 +664,9 @@
                return col1;
        
        cp[0]= 255;
-       cp[1]= (mfac*cp1[1]+fac*cp2[1])>>8;
-       cp[2]= (mfac*cp1[2]+fac*cp2[2])>>8;
-       cp[3]= (mfac*cp1[3]+fac*cp2[3])>>8;
+       cp[1]= (mfac*cp1[1]+fac*cp2[1])/255;
+       cp[2]= (mfac*cp1[2]+fac*cp2[2])/255;
+       cp[3]= (mfac*cp1[3]+fac*cp2[3])/255;
        
        return col;
 }
@@ -692,9 +692,9 @@
                return col1;
        
        cp[0]= 255;
-       cp[1]= (mfac*cp1[1]+fac*cp2[1])>>8;
-       cp[2]= (mfac*cp1[2]+fac*cp2[2])>>8;
-       cp[3]= (mfac*cp1[3]+fac*cp2[3])>>8;
+       cp[1]= (mfac*cp1[1]+fac*cp2[1])/255;
+       cp[2]= (mfac*cp1[2]+fac*cp2[2])/255;
+       cp[3]= (mfac*cp1[3]+fac*cp2[3])/255;
        return col;
 }
 


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to