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
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2021-06-02 11:05:39 +0300
committerJeroen Bakker <jeroen@blender.org>2021-06-09 09:45:45 +0300
commit0b577e977b43b9169dc5002b4e27b54c71d518b4 (patch)
tree3e5a1b86f4c3c28f608305d0b1d5a413de975d0a /source/blender
parent5a612097abb4438ab357ae29e5d6f1916d136d69 (diff)
Fix T88567: Cryptomatte only works for the first View Layer.
The view layer was always set to 0. This patch increments it.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/compositor/nodes/COM_CryptomatteNode.cc6
1 files changed, 3 insertions, 3 deletions
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);