- green, _ = get_linked_node_and_socket(self.node_tree, self.node.inputs["G"])
- if not green or green.type!='MATH' or green.operation!='SUBTRACT':
- return
- green, _ = get_linked_node_and_socket(self.node_tree, green.inputs[1])
+ separate = None
+ invert_channels = ""
+ for c in ("R", "G", "B"):
+ from_node, _ = get_linked_node_and_socket(self.node_tree, self.node.inputs[c])
+ if from_node.type=='MATH' and from_node.operation=='SUBTRACT' and not from_node.inputs[0].is_linked and from_node.inputs[0].default_value==1.0:
+ invert_channels += c
+ from_node, _ = get_linked_node_and_socket(self.node_tree, from_node.inputs[1])