[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56088] trunk/blender/intern/cycles/ blender/blender_session.cpp: Fix #34966: cycles packed PNG images were showing alpha fringe, packed images

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Apr 16 15:52:38 CEST 2013


Revision: 56088
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56088
Author:   blendix
Date:     2013-04-16 13:52:38 +0000 (Tue, 16 Apr 2013)
Log Message:
-----------
Fix #34966: cycles packed PNG images were showing alpha fringe, packed images
were not properly premultiplied.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_session.cpp

Modified: trunk/blender/intern/cycles/blender/blender_session.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_session.cpp	2013-04-16 13:01:46 UTC (rev 56087)
+++ trunk/blender/intern/cycles/blender/blender_session.cpp	2013-04-16 13:52:38 UTC (rev 56088)
@@ -693,6 +693,14 @@
 			}
 		}
 
+		/* premultiply, byte images are always straight for blender */
+		unsigned char *cp = pixels;
+		for(int i = 0; i < width * height; i++, cp += channels) {
+			cp[0] = (cp[0] * cp[3]) >> 8;
+			cp[1] = (cp[1] * cp[3]) >> 8;
+			cp[2] = (cp[2] * cp[3]) >> 8;
+		}
+
 		return true;
 	}
 




More information about the Bf-blender-cvs mailing list