[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36431] trunk/blender: Related to bug #27004: there is now an option to disable color management for

Brecht Van Lommel brechtvanlommel at pandora.be
Mon May 2 11:08:43 CEST 2011


Revision: 36431
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36431
Author:   blendix
Date:     2011-05-02 09:08:43 +0000 (Mon, 02 May 2011)
Log Message:
-----------
Related to bug #27004: there is now an option to disable color management for
GLSL. I've tried to find a quicker way to do it that still looks the same, but
couldn't find a formula that didn't have major color shifts.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_game.py
    trunk/blender/source/blender/gpu/intern/gpu_material.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_game.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_game.py	2011-05-02 08:56:53 UTC (rev 36430)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_game.py	2011-05-02 09:08:43 UTC (rev 36431)
@@ -323,6 +323,7 @@
             col.prop(gs, "use_glsl_lights", text="Lights")
             col.prop(gs, "use_glsl_shaders", text="Shaders")
             col.prop(gs, "use_glsl_shadows", text="Shadows")
+            col.prop(gs, "use_glsl_color_management", text="Color Management")
 
             col = split.column()
             col.prop(gs, "use_glsl_ramps", text="Ramps")

Modified: trunk/blender/source/blender/gpu/intern/gpu_material.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_material.c	2011-05-02 08:56:53 UTC (rev 36430)
+++ trunk/blender/source/blender/gpu/intern/gpu_material.c	2011-05-02 09:08:43 UTC (rev 36431)
@@ -1011,7 +1011,8 @@
 				}
 
 				if(tex->type==TEX_IMAGE)
-					if(mat->scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
+					if((mat->scene->r.color_mgt_flag & R_COLOR_MANAGEMENT) &&
+					   !((mat->scene->gm.flag & GAME_GLSL_NO_COLOR_MANAGEMENT)))
 						GPU_link(mat, "srgb_to_linearrgb", tcol, &tcol);
 				
 				if(mtex->mapto & MAP_COL) {
@@ -1363,7 +1364,8 @@
 		GPU_link(mat, "shade_alpha_obcolor", shr->combined, GPU_builtin(GPU_OBCOLOR), &shr->combined);
 	}
 
-	if(mat->scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
+	if((mat->scene->r.color_mgt_flag & R_COLOR_MANAGEMENT) &&
+	   !((mat->scene->gm.flag & GAME_GLSL_NO_COLOR_MANAGEMENT)))
 		GPU_link(mat, "linearrgb_to_srgb", shr->combined, &shr->combined);
 }
 

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2011-05-02 08:56:53 UTC (rev 36430)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2011-05-02 09:08:43 UTC (rev 36431)
@@ -497,6 +497,7 @@
 #define GAME_IGNORE_DEPRECATION_WARNINGS	(1 << 12)
 #define GAME_ENABLE_ANIMATION_RECORD		(1 << 13)
 #define GAME_SHOW_MOUSE						(1 << 14)
+#define GAME_GLSL_NO_COLOR_MANAGEMENT		(1 << 15)
 
 /* GameData.matmode */
 #define GAME_MAT_TEXFACE	0

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2011-05-02 08:56:53 UTC (rev 36430)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2011-05-02 09:08:43 UTC (rev 36431)
@@ -1909,6 +1909,11 @@
 	RNA_def_property_ui_text(prop, "GLSL Nodes", "Use nodes for GLSL rendering");
 	RNA_def_property_update(prop, NC_SCENE|NA_EDITED, "rna_Scene_glsl_update");
 
+	prop= RNA_def_property(srna, "use_glsl_color_management", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", GAME_GLSL_NO_COLOR_MANAGEMENT);
+	RNA_def_property_ui_text(prop, "GLSL Color Management", "Use color management for GLSL rendering");
+	RNA_def_property_update(prop, NC_SCENE|NA_EDITED, "rna_Scene_glsl_update");
+
 	prop= RNA_def_property(srna, "use_glsl_extra_textures", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", GAME_GLSL_NO_EXTRA_TEX);
 	RNA_def_property_ui_text(prop, "GLSL Extra Textures", "Use extra textures like normal or specular maps for GLSL rendering");




More information about the Bf-blender-cvs mailing list