[Bf-blender-cvs] [0b577e977b4] blender-v2.93-release: Fix T88567: Cryptomatte only works for the first View Layer.

Jeroen Bakker noreply at git.blender.org
Wed Jun 9 08:54:46 CEST 2021


Commit: 0b577e977b43b9169dc5002b4e27b54c71d518b4
Author: Jeroen Bakker
Date:   Wed Jun 2 10:05:39 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB0b577e977b43b9169dc5002b4e27b54c71d518b4

Fix T88567: Cryptomatte only works for the first View Layer.

The view layer was always set to 0. This patch increments it.

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

M	source/blender/compositor/nodes/COM_CryptomatteNode.cc

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

diff --git a/source/blender/compositor/nodes/COM_CryptomatteNode.cc b/source/blender/compositor/nodes/COM_CryptomatteNode.cc
index 3beb3aa2917..4032a655633 100644
--- a/source/blender/compositor/nodes/COM_CryptomatteNode.cc
+++ b/source/blender/compositor/nodes/COM_CryptomatteNode.cc
@@ -118,9 +118,9 @@ void CryptomatteNode::input_operations_from_render_source(
     return;
   }
 
-  const short cryptomatte_layer_id = 0;
+  short view_layer_id = 0;
   const std::string prefix = prefix_from_node(context, node);
-  LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) {
+  LISTBASE_FOREACH_INDEX (ViewLayer *, view_layer, &scene->view_layers, view_layer_id) {
     RenderLayer *render_layer = RE_GetRenderLayer(render_result, view_layer->name);
     if (render_layer) {
       LISTBASE_FOREACH (RenderPass *, render_pass, &render_layer->passes) {
@@ -129,7 +129,7 @@ void CryptomatteNode::input_operations_from_render_source(
           RenderLayersProg *op = new RenderLayersProg(
               render_pass->name, DataType::Color, render_pass->channels);
           op->setScene(scene);
-          op->setLayerId(cryptomatte_layer_id);
+          op->setLayerId(view_layer_id);
           op->setRenderData(context.getRenderData());
           op->setViewName(context.getViewName());
           r_input_operations.append(op);



More information about the Bf-blender-cvs mailing list