コード例 #1
0
def make_generate_mipmaps(stage, node_group, node):
    stage['command'] = 'generate_mipmaps'

    # TODO: support reroutes
    link = nodes.find_link(node_group, node, node.inputs[1])
    targetNode = link.from_node

    stage['params'].append(targetNode.inputs[0].default_value)
コード例 #2
0
ファイル: make_renderpath.py プロジェクト: armory3d/armory
def make_generate_mipmaps(stage, node_group, node):
    stage['command'] = 'generate_mipmaps'

    # TODO: support reroutes
    link = nodes.find_link(node_group, node, node.inputs[1])
    targetNode = link.from_node

    stage['params'].append(targetNode.inputs[0].default_value)
コード例 #3
0
def make_bind_target(stage,
                     node_group,
                     node,
                     constant_name,
                     currentNode=None,
                     target_index=1):
    if currentNode == None:
        currentNode = node

    stage['command'] = 'bind_target'

    link = nodes.find_link(node_group, currentNode,
                           currentNode.inputs[target_index])
    currentNode = link.from_node

    if currentNode.bl_idname == 'NodeReroute':
        make_bind_target(stage,
                         node_group,
                         node,
                         constant_name,
                         currentNode=currentNode,
                         target_index=0)

    elif currentNode.bl_idname == 'GBufferNodeType':
        for i in range(0, 5):
            if currentNode.inputs[i].is_linked:
                targetNode = nodes.find_node_by_link(node_group, currentNode,
                                                     currentNode.inputs[i])
                targetId = targetNode.inputs[0].default_value
                # if i == 0 and targetNode.inputs[3].default_value == True: # Depth
                if targetNode.inputs[3].is_linked:  # Depth
                    db_node = nodes.find_node_by_link(node_group, targetNode,
                                                      targetNode.inputs[3])
                    db_id = db_node.inputs[0].default_value
                    stage['params'].append('_' + db_id)
                    stage['params'].append(constant_name + 'D')
                stage['params'].append(targetId)  # Color buffer
                stage['params'].append(constant_name + str(i))

    elif currentNode.bl_idname == 'TargetNodeType' or currentNode.bl_idname == 'ImageNodeType' or currentNode.bl_idname == 'Image3DNodeType':
        targetId = currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)

    elif currentNode.bl_idname == 'ShadowMapNodeType':
        targetId = currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)

    elif currentNode.bl_idname == 'DepthBufferNodeType':
        targetId = '_' + currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)
コード例 #4
0
ファイル: make_renderpath.py プロジェクト: armory3d/armory
def make_bind_target(stage, node_group, node, constant_name, currentNode=None, target_index=1):
    if currentNode == None:
        currentNode = node
        
    stage['command'] = 'bind_target'
    
    link = nodes.find_link(node_group, currentNode, currentNode.inputs[target_index])
    currentNode = link.from_node
    
    if currentNode.bl_idname == 'NodeReroute':
        make_bind_target(stage, node_group, node, constant_name, currentNode=currentNode, target_index=0)
    
    elif currentNode.bl_idname == 'GBufferNodeType':
        for i in range(0, 5):
            if currentNode.inputs[i].is_linked:
                targetNode = nodes.find_node_by_link(node_group, currentNode, currentNode.inputs[i])
                targetId = targetNode.inputs[0].default_value
                # if i == 0 and targetNode.inputs[3].default_value == True: # Depth
                if targetNode.inputs[3].is_linked: # Depth
                    db_node = nodes.find_node_by_link(node_group, targetNode, targetNode.inputs[3])
                    db_id = db_node.inputs[0].default_value
                    stage['params'].append('_' + db_id)
                    stage['params'].append(constant_name + 'D')
                stage['params'].append(targetId) # Color buffer
                stage['params'].append(constant_name + str(i))
    
    elif currentNode.bl_idname == 'TargetNodeType' or currentNode.bl_idname == 'ImageNodeType' or currentNode.bl_idname == 'Image3DNodeType':     
        targetId = currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)

    elif currentNode.bl_idname == 'ShadowMapNodeType':
        targetId = currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)
        
    elif currentNode.bl_idname == 'DepthBufferNodeType':
        targetId = '_' + currentNode.inputs[0].default_value
        stage['params'].append(targetId)
        stage['params'].append(constant_name)