forked from bartvdbraak/blender
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.
This commit is contained in:
parent
5aef2f1ae2
commit
bee2523a41
@ -323,6 +323,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel):
|
||||
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")
|
||||
|
@ -1011,7 +1011,8 @@ static void do_material_tex(GPUShadeInput *shi)
|
||||
}
|
||||
|
||||
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 @@ void GPU_shaderesult_set(GPUShadeInput *shi, GPUShadeResult *shr)
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -497,6 +497,7 @@ typedef struct GameData {
|
||||
#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
|
||||
|
@ -1909,6 +1909,11 @@ static void rna_def_scene_game_data(BlenderRNA *brna)
|
||||
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");
|
||||
|
Loading…
Reference in New Issue
Block a user