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");

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to