Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-02-13 20:12:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-02-13 20:12:28 +0300
commitb6572c5430c570130c6f6aec92522fdf9df6365a (patch)
tree2086c135d5e0962e02f95d0727e5a0cc343e6dde /source
parentd46273563e684bf8445369bd03752ceebf26e1ec (diff)
DRW: Fix color management in material/rendered mode
We only do exposure/gamma if not using scene lighting
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_manager.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 2092be254fa..f354db8e4ed 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -282,8 +282,20 @@ static void drw_viewport_colormanagement_set(void)
ColorManagedViewSettings view_settings;
float dither = 0.0f;
- bool use_render_settings = v3d && (v3d->shading.type == OB_RENDER);
+ /* TODO(fclem) This should be a render engine callback to determine if we need CM or not. */
+ bool use_workbench = BKE_scene_uses_blender_workbench(scene);
+
+ bool use_scene_lights = (!v3d ||
+ ((v3d->shading.type == OB_MATERIAL) &&
+ (v3d->shading.flag & V3D_SHADING_SCENE_LIGHTS)) ||
+ ((v3d->shading.type == OB_RENDER) &&
+ (v3d->shading.flag & V3D_SHADING_SCENE_LIGHTS_RENDER)));
+ bool use_scene_world =
+ (!v3d ||
+ ((v3d->shading.type == OB_MATERIAL) && (v3d->shading.flag & V3D_SHADING_SCENE_WORLD)) ||
+ ((v3d->shading.type == OB_RENDER) && (v3d->shading.flag & V3D_SHADING_SCENE_WORLD_RENDER)));
bool use_view_transform = v3d && (v3d->shading.type >= OB_MATERIAL);
+ bool use_render_settings = v3d && (use_workbench || use_scene_lights || use_scene_world);
if (use_render_settings) {
/* Use full render settings, for renders with scene lighting. */