Blender V5.0
node_composite_tree.cc File Reference
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "BLI_listbase.h"
#include "BKE_context.hh"
#include "BKE_global.hh"
#include "BKE_image.hh"
#include "BKE_main.hh"
#include "BKE_node.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.hh"
#include "BKE_tracking.h"
#include "UI_resources.hh"
#include "SEQ_modifier.hh"
#include "SEQ_select.hh"
#include "SEQ_sequencer.hh"
#include "node_common.h"
#include "RNA_prototypes.hh"
#include "NOD_composite.hh"
#include "node_composite_util.hh"

Go to the source code of this file.

Functions

static void composite_get_from_context (const bContext *C, blender::bke::bNodeTreeType *, bNodeTree **r_ntree, ID **r_id, ID **r_from)
static void foreach_nodeclass (void *calldata, blender::bke::bNodeClassCallback func)
static void localize (bNodeTree *localtree, bNodeTree *ntree)
static void local_merge (Main *, bNodeTree *localtree, bNodeTree *ntree)
static void update (bNodeTree *ntree)
static void composite_node_add_init (bNodeTree *, bNode *bnode)
static bool composite_node_tree_socket_type_valid (blender::bke::bNodeTreeType *, blender::bke::bNodeSocketType *socket_type)
static bool composite_validate_link (eNodeSocketDatatype from_type, eNodeSocketDatatype to_type)
void register_node_tree_type_cmp ()
void ntreeCompositUpdateRLayers (bNodeTree *ntree)
void ntreeCompositTagRender (Scene *scene)
void ntreeCompositClearTags (bNodeTree *ntree)
void ntreeCompositTagNeedExec (bNode *node)

Variables

blender::bke::bNodeTreeTypentreeType_Composite

Function Documentation

◆ composite_get_from_context()

◆ composite_node_add_init()

void composite_node_add_init ( bNodeTree * ,
bNode * bnode )
static

◆ composite_node_tree_socket_type_valid()

◆ composite_validate_link()

bool composite_validate_link ( eNodeSocketDatatype from_type,
eNodeSocketDatatype to_type )
static

Keep consistent with the #is_conversion_supported function in #compositor::ConversionOperation on the compositor side.

Definition at line 177 of file node_composite_tree.cc.

References ELEM, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, and SOCK_VECTOR.

Referenced by register_node_tree_type_cmp().

◆ foreach_nodeclass()

◆ local_merge()

◆ localize()

void localize ( bNodeTree * localtree,
bNodeTree * ntree )
static

◆ ntreeCompositClearTags()

void ntreeCompositClearTags ( bNodeTree * ntree)

Definition at line 258 of file node_composite_tree.cc.

References ntreeCompositClearTags().

Referenced by ntreeCompositClearTags(), and render_endjob().

◆ ntreeCompositTagNeedExec()

void ntreeCompositTagNeedExec ( bNode * node)

Definition at line 274 of file node_composite_tree.cc.

References bNode::runtime.

◆ ntreeCompositTagRender()

void ntreeCompositTagRender ( Scene * scene)

Called from render pipeline, to tag render input and output. need to do all scenes, to prevent errors when you re-render 1 scene.

Definition at line 237 of file node_composite_tree.cc.

References BKE_ntree_update(), BKE_ntree_update_tag_node_property(), and G_MAIN.

Referenced by blender::ed::space_node::node_read_viewlayers_exec().

◆ ntreeCompositUpdateRLayers()

void ntreeCompositUpdateRLayers ( bNodeTree * ntree)

Update the outputs of the render layer nodes. Since the outputs depend on the render engine, this part is a bit complex:

Definition at line 219 of file node_composite_tree.cc.

References CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_SOURCE_RENDER, CMP_NODE_R_LAYERS, and node_cmp_rlayers_outputs().

Referenced by ED_render_engine_changed(), view_layer_add_aov_exec(), view_layer_add_lightgroup_exec(), view_layer_add_used_lightgroups_exec(), view_layer_remove_aov_exec(), view_layer_remove_lightgroup_exec(), view_layer_remove_unused_lightgroups_exec(), and wm_file_read_post().

◆ register_node_tree_type_cmp()

◆ update()

Variable Documentation

◆ ntreeType_Composite