[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27757] trunk/blender: Fix for ben dansie, incorrect gamma with render baking.

Matt Ebb matt at mke3.net
Fri Mar 26 02:31:43 CET 2010


Revision: 27757
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27757
Author:   broken
Date:     2010-03-26 02:31:43 +0100 (Fri, 26 Mar 2010)

Log Message:
-----------
Fix for ben dansie, incorrect gamma with render baking.
Linear/gamma issues weren't really considered in baking yet.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_image.py
    trunk/blender/source/blender/editors/space_image/image_buttons.c
    trunk/blender/source/blender/render/intern/source/rendercore.c

Modified: trunk/blender/release/scripts/ui/space_image.py
===================================================================
--- trunk/blender/release/scripts/ui/space_image.py	2010-03-26 01:11:03 UTC (rev 27756)
+++ trunk/blender/release/scripts/ui/space_image.py	2010-03-26 01:31:43 UTC (rev 27757)
@@ -342,7 +342,7 @@
         # ima = sima.image
         iuser = sima.image_user
 
-        layout.template_image(sima, "image", iuser, compact=True)
+        layout.template_image(sima, "image", iuser)
 
 
 class IMAGE_PT_game_properties(bpy.types.Panel):

Modified: trunk/blender/source/blender/editors/space_image/image_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_buttons.c	2010-03-26 01:11:03 UTC (rev 27756)
+++ trunk/blender/source/blender/editors/space_image/image_buttons.c	2010-03-26 01:31:43 UTC (rev 27757)
@@ -883,7 +883,7 @@
 		}
 		else {
 			row= uiLayoutRow(layout, 0);
-			uiItemR(row, &imaptr, "source", (compact)? 0: UI_ITEM_R_EXPAND, NULL, 0);
+			uiItemR(row, &imaptr, "source", 0, NULL, 0);
 
 			if(ima->source != IMA_SRC_GENERATED) {
 				row= uiLayoutRow(layout, 1);

Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c	2010-03-26 01:11:03 UTC (rev 27756)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c	2010-03-26 01:31:43 UTC (rev 27757)
@@ -2211,12 +2211,23 @@
 	}
 	else {
 		char *col= (char *)(bs->rect + bs->rectx*y + x);
-		col[0]= FTOCHAR(shr.combined[0]);
-		col[1]= FTOCHAR(shr.combined[1]);
-		col[2]= FTOCHAR(shr.combined[2]);
+
+		if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE) &&	(R.r.color_mgt_flag & R_COLOR_MANAGEMENT)) {
+			float srgb[3];
+			srgb[0]= linearrgb_to_srgb(shr.combined[0]);
+			srgb[1]= linearrgb_to_srgb(shr.combined[1]);
+			srgb[2]= linearrgb_to_srgb(shr.combined[2]);
+			
+			col[0]= FTOCHAR(srgb[0]);
+			col[1]= FTOCHAR(srgb[1]);
+			col[2]= FTOCHAR(srgb[2]);
+		} else {
+			col[0]= FTOCHAR(shr.combined[0]);
+			col[1]= FTOCHAR(shr.combined[1]);
+			col[2]= FTOCHAR(shr.combined[2]);
+		}
 		
-		
-		if (bs->type==RE_BAKE_ALL || bs->type==RE_BAKE_TEXTURE) {
+		if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE)) {
 			col[3]= FTOCHAR(shr.alpha);
 		} else {
 			col[3]= 255;
@@ -2643,6 +2654,8 @@
 		ima->id.flag |= LIB_DOIT;
 		if (ibuf)
 			ibuf->userdata = NULL; /* use for masking if needed */
+		if(ibuf->rect_float)
+			ibuf->profile = IB_PROFILE_LINEAR_RGB;
 	}
 	
 	BLI_init_threads(&threads, do_bake_thread, re->r.threads);





More information about the Bf-blender-cvs mailing list