Fix T88567: Cryptomatte only works for the first View Layer.
The view layer was always set to 0. This patch increments it.
This commit is contained in:
parent
507c19c0f7
commit
46447594de
Notes:
blender-bot
2023-02-14 09:33:11 +01:00
Referenced by issue #88567, Cryptomatte only works for the first View Layer
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue