[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15521] trunk/blender/source/blender/src/ vpaint.c:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Jul 10 17:30:36 CEST 2008


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;
 }
 





More information about the Bf-blender-cvs mailing list