Fix: input sockets of output nodes are grayed out
Just like the root group output node, those should be treated as outputs of the node tree and are thus always used.
This commit is contained in:
@@ -208,6 +208,17 @@ struct SocketUsageInferencer {
|
||||
this->usage_task__input__capture_attribute_node(socket);
|
||||
break;
|
||||
}
|
||||
case SH_NODE_OUTPUT_AOV:
|
||||
case SH_NODE_OUTPUT_LIGHT:
|
||||
case SH_NODE_OUTPUT_WORLD:
|
||||
case SH_NODE_OUTPUT_LINESTYLE:
|
||||
case SH_NODE_OUTPUT_MATERIAL:
|
||||
case CMP_NODE_OUTPUT_FILE:
|
||||
case CMP_NODE_COMPOSITE:
|
||||
case TEX_NODE_OUTPUT: {
|
||||
this->usage_task__input__output_node(socket);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
this->usage_task__input__fallback(socket);
|
||||
break;
|
||||
@@ -215,6 +226,11 @@ struct SocketUsageInferencer {
|
||||
}
|
||||
}
|
||||
|
||||
void usage_task__input__output_node(const SocketInContext &socket)
|
||||
{
|
||||
all_socket_usages_.add_new(socket, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Assumes that the first input is a condition that selects one of the remaining inputs which is
|
||||
* then output. If necessary, this can trigger a value task for the condition socket.
|
||||
|
||||
Reference in New Issue
Block a user