[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54901] trunk/blender/source/blender/ blenkernel/intern: Fix #34439: Strip modifier - Mask multiply failure

Sergey Sharybin sergey.vfx at gmail.com
Wed Feb 27 10:58:41 CET 2013


Revision: 54901
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54901
Author:   nazgul
Date:     2013-02-27 09:58:40 +0000 (Wed, 27 Feb 2013)
Log Message:
-----------
Fix #34439: Strip modifier - Mask multiply failure

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/seqmodifier.c
    trunk/blender/source/blender/blenkernel/intern/sequencer.c

Modified: trunk/blender/source/blender/blenkernel/intern/seqmodifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/seqmodifier.c	2013-02-27 07:05:01 UTC (rev 54900)
+++ trunk/blender/source/blender/blenkernel/intern/seqmodifier.c	2013-02-27 09:58:40 UTC (rev 54901)
@@ -237,9 +237,9 @@
 
 					rgb_uchar_to_float(t, mask_rect + pixel_index);
 
-					tempc[0] = pixel[0] * (1.0f - t[0]) + result[0] * t[0];
-					tempc[1] = pixel[1] * (1.0f - t[1]) + result[1] * t[1];
-					tempc[2] = pixel[2] * (1.0f - t[2]) + result[2] * t[2];
+					tempc[0] = tempc[0] * (1.0f - t[0]) + result[0] * t[0];
+					tempc[1] = tempc[1] * (1.0f - t[1]) + result[1] * t[1];
+					tempc[2] = tempc[2] * (1.0f - t[2]) + result[2] * t[2];
 				}
 				else {
 					tempc[0] = result[0];
@@ -438,7 +438,7 @@
 						unsigned char *m = mask_rect + pixel_index;
 						float t = (float) m[c] / 255.0f;
 
-						v = (float) pixel[c] * (1.0f - t) + v * t;
+						v = (float) pixel[c] / 255.0f * (1.0f - t) + v * t;
 					}
 
 					pixel[c] = FTOCHAR(v);

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2013-02-27 07:05:01 UTC (rev 54900)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2013-02-27 09:58:40 UTC (rev 54901)
@@ -1544,8 +1544,11 @@
 		for (c = 0; c < 3; c++) {
 			float t = color_balance_fl(p[c], cb.lift[c], cb.gain[c], cb.gamma[c], mul);
 
-			if (m)
-				p[c] = p[c] * (1.0f - (float)m[c] / 255.0f) + t * m[c];
+			if (m) {
+				float m_normal = (float) m[c] / 255.0f;
+
+				p[c] = p[c] * (1.0f - m_normal) + t * m_normal;
+			}
 			else
 				p[c] = t;
 		}




More information about the Bf-blender-cvs mailing list