Fix T98919: Eevee unlinked aov output nodes don't render.

Eevee rendered an empty image for aov nodes that weren't linked to
any other nodes. When connected the result was OK. The root cause was
that the AOV nodes were not marked as output node and pruned when not
connected to any other nodes. The pruning process is there to reduce
the complexity of the GLSL and improve compilation time and
execution time.
This commit is contained in:
Jeroen Bakker 2022-06-21 09:45:40 +02:00 committed by Philipp Oeser
parent 0c8804dd24
commit 7ec9a02089
Notes: blender-bot 2023-07-10 10:12:37 +02:00
Referenced by issue #98919, Regression: AOV passes doesn´t work on eevee
Referenced by issue #98661, 3.2: Potential candidates for corrective releases
1 changed files with 1 additions and 0 deletions

View File

@ -1007,6 +1007,7 @@ static void ntree_shader_pruned_unused(bNodeTree *ntree, bNode *output_node)
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->type == SH_NODE_OUTPUT_AOV) {
node->tmp_flag = 1;
nodeChainIterBackwards(ntree, node, ntree_branch_node_tag, nullptr, 0);
}
}