[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