[Bf-blender-cvs] [2740bdfff9f] master: Fix T66362, T66004: Cycles holdout should override indirect only

Brecht Van Lommel noreply at git.blender.org
Thu Jul 4 18:17:01 CEST 2019


Commit: 2740bdfff9f38807301fb3ee4d6a4949d8d8bb20
Author: Brecht Van Lommel
Date:   Thu Jul 4 17:28:39 2019 +0200
Branches: master
https://developer.blender.org/rB2740bdfff9f38807301fb3ee4d6a4949d8d8bb20

Fix T66362, T66004: Cycles holdout should override indirect only

Now it works again like 2.7, rather than objects disappearing from camera
rays when both options are on.

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

M	intern/cycles/blender/blender_object.cpp
M	source/blender/editors/space_outliner/outliner_draw.c

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

diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 17a0dbb43e7..7ccf8226e5b 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -357,7 +357,8 @@ Object *BlenderSync::sync_object(BL::Depsgraph &b_depsgraph,
 #endif
 
   /* Clear camera visibility for indirect only objects. */
-  bool use_indirect_only = b_parent.indirect_only_get(PointerRNA_NULL, b_view_layer);
+  bool use_indirect_only = !use_holdout &&
+                           b_parent.indirect_only_get(PointerRNA_NULL, b_view_layer);
   if (use_indirect_only) {
     visibility &= ~PATH_RAY_CAMERA;
   }
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index 86f99555e12..768a375675e 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -1443,7 +1443,8 @@ static void outliner_draw_restrictbuts(uiBlock *block,
                               layer_collection,
                               (char *)"indirect_only");
               UI_but_flag_enable(bt, UI_BUT_DRAG_LOCK);
-              if (!props_active.layer_collection_indirect_only) {
+              if (props_active.layer_collection_holdout ||
+                  !props_active.layer_collection_indirect_only) {
                 UI_but_flag_enable(bt, UI_BUT_INACTIVE);
               }
             }



More information about the Bf-blender-cvs mailing list