[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26093] trunk/blender/source/blender/ blenloader/intern/readfile.c: Partial fix for issues in [#20564] Color Management/Linear Workflow not taken into

Matt Ebb matt at mke3.net
Tue Jan 19 03:47:49 CET 2010


Revision: 26093
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26093
Author:   broken
Date:     2010-01-19 03:47:44 +0100 (Tue, 19 Jan 2010)

Log Message:
-----------
Partial fix for issues in [#20564] Color Management/Linear Workflow not taken into 
account in Preview Render anymore?

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-01-19 02:26:36 UTC (rev 26092)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-01-19 02:47:44 UTC (rev 26093)
@@ -10136,7 +10136,8 @@
 			Scene *sce=main->scene.first;
 			Material *ma=main->mat.first;
 			World *wo=main->world.first;
-			int convert=0;
+			Tex *tex=main->tex.first;
+			int i, convert=0;
 			
 			/* convert to new color management system:
 			 while previously colors were stored as srgb, 
@@ -10152,6 +10153,21 @@
 			
 			if (convert) {
 				while(ma) {
+					if (ma->ramp_col) {
+						ColorBand *band = (ColorBand *)ma->ramp_col;
+						for (i=0; i<band->tot; i++) {
+							CBData *data = band->data + i;
+							srgb_to_linearrgb_v3_v3(&data->r, &data->r);
+						}
+					}
+					if (ma->ramp_spec) {
+						ColorBand *band = (ColorBand *)ma->ramp_spec;
+						for (i=0; i<band->tot; i++) {
+							CBData *data = band->data + i;
+							srgb_to_linearrgb_v3_v3(&data->r, &data->r);
+						}
+					}
+					
 					srgb_to_linearrgb_v3_v3(&ma->r, &ma->r);
 					srgb_to_linearrgb_v3_v3(&ma->specr, &ma->specr);
 					srgb_to_linearrgb_v3_v3(&ma->mirr, &ma->mirr);
@@ -10159,6 +10175,17 @@
 					ma=ma->id.next;
 				}
 				
+				while(tex) {
+					if (tex->coba) {
+						ColorBand *band = (ColorBand *)tex->coba;
+						for (i=0; i<band->tot; i++) {
+							CBData *data = band->data + i;
+							srgb_to_linearrgb_v3_v3(&data->r, &data->r);
+						}
+					}
+					tex=tex->id.next;
+				}
+				
 				while(wo) {
 					srgb_to_linearrgb_v3_v3(&wo->ambr, &wo->ambr);
 					srgb_to_linearrgb_v3_v3(&wo->horr, &wo->horr);





More information about the Bf-blender-cvs mailing list