[Bf-blender-cvs] [b6572c5430c] master: DRW: Fix color management in material/rendered mode

Clément Foucault noreply at git.blender.org
Thu Feb 13 18:12:36 CET 2020


Commit: b6572c5430c570130c6f6aec92522fdf9df6365a
Author: Clément Foucault
Date:   Thu Feb 13 18:12:28 2020 +0100
Branches: master
https://developer.blender.org/rBb6572c5430c570130c6f6aec92522fdf9df6365a

DRW: Fix color management in material/rendered mode

We only do exposure/gamma if not using scene lighting

===================================================================

M	source/blender/draw/intern/draw_manager.c

===================================================================

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. */



More information about the Bf-blender-cvs mailing list