-def get_unlit_inputs(node_tree, node):
- if node.type=='GROUP':
- return check_group(node_tree, node, get_unlit_inputs)
- elif node.type=='MIX_SHADER':
- from .util import get_linked_node_and_socket
+ red, _ = get_linked_node_and_socket(self.node_tree, self.node.inputs["R"])
+ blue, _ = get_linked_node_and_socket(self.node_tree, self.node.inputs["B"])
+ if not red or red.type!='SEPRGB' or blue!=red or green!=red:
+ return
+
+ self.type = 'INVERT_GREEN'
+ return self.set_input_from_linked(red.inputs["Image"])
+
+ def check_additive_blend(self):
+ if self.node.type=='ADD_SHADER':
+ from .util import get_linked_node_and_socket
+
+ for i in range(2):
+ shader, _ = get_linked_node_and_socket(self.node_tree, self.node.inputs[i])
+ if shader.type=='BSDF_TRANSPARENT':
+ self.type = 'ADDITIVE'
+ return self.set_input_from_linked(self.node.inputs[1-i])
+
+ def check_texture(self):
+ if self.node.type=='TEX_IMAGE':
+ self.type = 'TEXTURE'