[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26478] trunk/blender/source/blender/ render/intern/source/pipeline.c: Fix [#20901] OPENEXR: Incorrect gamma from colour management
Matt Ebb
matt at mke3.net
Sun Jan 31 21:53:05 CET 2010
Revision: 26478
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26478
Author: broken
Date: 2010-01-31 21:53:04 +0100 (Sun, 31 Jan 2010)
Log Message:
-----------
Fix [#20901] OPENEXR: Incorrect gamma from colour management
Was working correctly on float render buffers, but not 8bpc render buffers
(only generated from sequence editor)
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/pipeline.c
Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c 2010-01-31 18:32:19 UTC (rev 26477)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c 2010-01-31 20:53:04 UTC (rev 26478)
@@ -2836,9 +2836,18 @@
/* float factor for random dither, imbuf takes care of it */
ibuf->dither= scene->r.dither_intensity;
+
/* prepare to gamma correct to sRGB color space */
- if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
- ibuf->profile = IB_PROFILE_LINEAR_RGB;
+ if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT) {
+ /* sequence editor can generate 8bpc render buffers */
+ if (ibuf->rect) {
+ ibuf->profile = IB_PROFILE_SRGB;
+ if (ELEM(scene->r.imtype, R_OPENEXR, R_RADHDR))
+ IMB_float_from_rect(ibuf);
+ } else {
+ ibuf->profile = IB_PROFILE_LINEAR_RGB;
+ }
+ }
ok= BKE_write_ibuf(scene, ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality);
More information about the Bf-blender-cvs
mailing list