Blender V2.61 - r43446
|
#include <stdio.h>
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_node_types.h"
#include "BLI_listbase.h"
#include "BLI_threads.h"
#include "BLF_translation.h"
#include "BKE_animsys.h"
#include "BKE_colortools.h"
#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_tracking.h"
#include "BKE_utildefines.h"
#include "node_exec.h"
#include "node_util.h"
#include "PIL_time.h"
#include "RNA_access.h"
#include "NOD_composite.h"
#include "node_composite_util.h"
Go to the source code of this file.
Definition in file node_composite_tree.c.
typedef struct ThreadData ThreadData |
static void* exec_composite_node | ( | void * | nodeexec_v | ) | [static] |
Definition at line 353 of file node_composite_tree.c.
References bNodeExec::data, bNode::exec, bNodeType::execfunc, bNode::flag, MAX_SOCKET, bNodeType::mutefunc, bNodeType::newexecfunc, bNodeExec::node, node_get_stack(), NODE_MUTED, NODE_READY, NULL, ThreadData::rd, ThreadData::stack, bNode::threaddata, and bNode::typeinfo.
Referenced by ntreeCompositExecTree().
static void force_hidden_passes | ( | bNode * | node, |
int | passflag | ||
) | [static] |
Definition at line 656 of file node_composite_tree.c.
References BLI_findlink(), ListBase::first, bNodeSocket::flag, bNodeSocket::next, bNode::outputs, RRES_OUT_AO, RRES_OUT_DIFF, RRES_OUT_EMIT, RRES_OUT_ENV, RRES_OUT_INDEXMA, RRES_OUT_INDEXOB, RRES_OUT_INDIRECT, RRES_OUT_MIST, RRES_OUT_NORMAL, RRES_OUT_REFLECT, RRES_OUT_REFRACT, RRES_OUT_RGBA, RRES_OUT_SHADOW, RRES_OUT_SPEC, RRES_OUT_UV, RRES_OUT_VEC, RRES_OUT_Z, SCE_PASS_AO, SCE_PASS_DIFFUSE, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT, SCE_PASS_INDEXMA, SCE_PASS_INDEXOB, SCE_PASS_INDIRECT, SCE_PASS_MIST, SCE_PASS_NORMAL, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RGBA, SCE_PASS_SHADOW, SCE_PASS_SPEC, SCE_PASS_UV, SCE_PASS_VECTOR, SCE_PASS_Z, and SOCK_UNAVAIL.
Referenced by ntreeCompositForceHidden().
static void foreach_nodeclass | ( | Scene * | UNUSEDscene, |
void * | calldata, | ||
bNodeClassCallback | func | ||
) | [static] |
Definition at line 73 of file node_composite_tree.c.
References IFACE_, NODE_CLASS_CONVERTOR, NODE_CLASS_DISTORT, NODE_CLASS_GROUP, NODE_CLASS_INPUT, NODE_CLASS_LAYOUT, NODE_CLASS_MATTE, NODE_CLASS_OP_COLOR, NODE_CLASS_OP_FILTER, NODE_CLASS_OP_VECTOR, and NODE_CLASS_OUTPUT.
static void foreach_nodetree | ( | Main * | main, |
void * | calldata, | ||
bNodeTreeCallback | func | ||
) | [static] |
Definition at line 63 of file node_composite_tree.c.
References ListBase::first, Scene::id, ID::next, Scene::nodetree, and Main::scene.
static void free_cache | ( | bNodeTree * | ntree | ) | [static] |
Definition at line 99 of file node_composite_tree.c.
References ListBase::first, free_node_cache(), bNode::next, and bNodeTree::nodes.
Definition at line 87 of file node_composite_tree.c.
References bNodeSocket::cache, ListBase::first, free_compbuf(), bNodeSocket::next, NULL, and bNode::outputs.
Referenced by free_cache().
static void freeExecutableNode | ( | bNodeTreeExec * | exec | ) | [static] |
Definition at line 473 of file node_composite_tree.c.
References CMP_NODE_R_LAYERS, bNodeStack::data, bNode::exec, ListBase::first, free_compbuf(), bNodeLink::fromnode, bNode::inputs, bNodeSocket::link, bNodeSocket::next, bNode::next, bNodeExec::node, NODE_FINISHED, NODE_FREEBUFS, node_get_socket_stack(), bNodeTreeExec::nodeexec, bNodeTree::nodes, bNodeTreeExec::nodetree, NULL, bNode::outputs, bNodeTreeExec::stack, and bNode::type.
Referenced by ntreeCompositExecTree().
static bNodeExec* getExecutableNode | ( | bNodeTreeExec * | exec | ) | [static] |
Definition at line 517 of file node_composite_tree.c.
References bNode::exec, ListBase::first, bNodeLink::fromnode, bNode::inputs, bNodeSocket::link, bNodeSocket::next, bNodeExec::node, NODE_READY, bNodeTreeExec::nodeexec, and NULL.
Referenced by ntreeCompositExecTree().
Definition at line 174 of file node_composite_tree.c.
References BKE_image_merge(), BKE_tracking_distortion_copy(), BKE_tracking_distortion_destroy(), bNodeSocket::cache, CMP_NODE_MOVIEDISTORTION, CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, compbuf_set_node(), ELEM, ListBase::first, bNode::flag, bNode::id, bNode::new_node, bNodeSocket::new_sock, bNodeSocket::next, bNode::next, NODE_DO_OUTPUT, bNodeTree::nodes, ntreeNodeExists(), ntreeOutputExists(), NULL, bNode::outputs, bNode::storage, and bNode::type.
Definition at line 155 of file node_composite_tree.c.
References bNode::exec, ListBase::first, bNode::new_node, bNode::next, NODE_READY, NODE_SKIPPED, nodeFreePreview(), bNodeTree::nodes, ntreeNodeExists(), NULL, bNode::preview, and bNodePreview::rect.
Definition at line 124 of file node_composite_tree.c.
References bNodeSocket::cache, CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, compbuf_set_node(), copy_image(), ELEM, ListBase::first, bNode::flag, bNode::id, bNode::need_exec, bNode::new_node, bNodeSocket::new_sock, bNodeSocket::next, bNode::next, NODE_DO_OUTPUT, bNodeTree::nodes, NULL, bNode::outputs, and bNode::type.
Definition at line 758 of file node_composite_tree.c.
References ListBase::first, bNode::inputs, len(), link(), bNodeSocket::next, Link::next, nodeUpdate(), NULL, rna_get_fcurve(), RNA_Node, RNA_NodeSocket, RNA_pointer_create(), RNA_property_array_check(), RNA_property_array_length(), RNA_struct_find_property(), RNA_struct_type_properties(), and PointerRNA::type.
Referenced by ntreeCompositTagAnimated().
static int node_only_value | ( | bNode * | node | ) | [static] |
Definition at line 328 of file node_composite_tree.c.
References CMP_NODE_MAP_VALUE, CMP_NODE_RGB, CMP_NODE_TIME, CMP_NODE_VALUE, ELEM3, ListBase::first, bNodeLink::fromnode, bNode::inputs, bNodeSocket::link, bNodeSocket::next, and bNode::type.
Referenced by setExecutableNodes().
static void ntree_composite_texnode | ( | bNodeTree * | ntree, |
int | init | ||
) | [static] |
Definition at line 539 of file node_composite_tree.c.
References CMP_NODE_TEXTURE, bNodeTree::execdata, ListBase::first, bNode::id, bNode::next, bNodeTree::nodes, Tex::nodetree, ntreeTexBeginExecTree(), ntreeTexEndExecTree(), NULL, bNode::type, and Tex::use_nodes.
Referenced by ntreeCompositExecTree().
struct bNodeTreeExec* ntreeCompositBeginExecTree | ( | bNodeTree * | ntree, |
int | use_tree_data | ||
) | [read] |
Definition at line 242 of file node_composite_tree.c.
References bNodeSocket::cache, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_HUECORRECT, CMP_NODE_TIME, curvemapping_initialize(), curvemapping_premultiply(), bNodeStack::data, ELEM4, bNode::exec, exec(), bNodeTree::execdata, ListBase::first, bNodeSocket::next, bNode::next, node_get_socket_stack(), bNodeTree::nodes, bNodeTreeExec::nodetree, ntree_exec_begin(), ntreeSetOutput(), NULL, bNode::outputs, bNodeTreeExec::stack, bNode::storage, and bNode::type.
Referenced by group_initexec(), and ntreeCompositExecTree().
void ntreeCompositClearTags | ( | bNodeTree * | ntree | ) |
Definition at line 861 of file node_composite_tree.c.
References ListBase::first, bNode::id, bNode::need_exec, bNode::next, NODE_GROUP, bNodeTree::nodes, ntreeCompositClearTags(), NULL, and bNode::type.
Referenced by ntreeCompositClearTags(), and render_endjob().
void ntreeCompositEndExecTree | ( | bNodeTreeExec * | exec, |
int | use_tree_data | ||
) |
Definition at line 293 of file node_composite_tree.c.
References bNodeSocket::cache, CMP_NODE_CURVE_RGB, curvemapping_premultiply(), bNodeStack::data, bNodeTree::execdata, ListBase::first, bNode::need_exec, bNodeSocket::next, bNode::next, node_get_socket_stack(), bNodeTree::nodes, bNodeTreeExec::nodetree, ntree_exec_end(), NULL, bNode::outputs, bNodeTreeExec::stack, bNode::storage, and bNode::type.
Referenced by group_freeexec(), ntreeCompositExecTree(), and ntreeFreeTree().
void ntreeCompositExecTree | ( | bNodeTree * | ntree, |
RenderData * | rd, | ||
int | do_preview | ||
) |
Definition at line 562 of file node_composite_tree.c.
References BLI_available_threads(), BLI_end_threads(), BLI_init_threads(), BLI_insert_thread(), BLI_remove_thread(), BLI_snprintf(), BLI_srandom(), RenderData::cfra, bNode::exec, exec(), exec_composite_node(), bNodeTree::execdata, ListBase::first, freeExecutableNode(), G, getExecutableNode(), bNode::name, bNode::next, bNodeExec::node, NODE_FINISHED, NODE_PROCESSING, NODE_READY, bNodeTreeExec::nodeexec, bNodeTree::nodes, ntree_composite_texnode(), ntreeCompositBeginExecTree(), ntreeCompositEndExecTree(), ntreeInitPreview(), NULL, PIL_sleep_ms(), bNodeTree::prh, bNodeTree::progress, R_COMP_CROP, R_COMP_FREE, ThreadData::rd, RenderData::scemode, bNodeTree::sdh, setExecutableNodes(), bNodeTreeExec::stack, ThreadData::stack, bNodeTree::stats_draw, str, bNodeTree::tbh, bNodeTree::test_break, bNode::threaddata, RenderData::threads, and threads.
Referenced by compo_startjob(), do_merge_fullsample(), do_render_composite_fields_blur_3d(), and image_record_composite_apply().
Definition at line 701 of file node_composite_tree.c.
References BLI_findlink(), CMP_NODE_IMAGE, CMP_NODE_R_LAYERS, bNode::custom1, ListBase::first, force_hidden_passes(), bNode::id, IMA_TYPE_MULTILAYER, ImageUser::layer, RenderResult::layers, RenderData::layers, bNode::next, bNodeTree::nodes, NULL, RenderLayer::passflag, Scene::r, Image::rr, RRES_OUT_Z, bNode::storage, Image::type, and bNode::type.
Referenced by node_add_node(), and snode_set_context().
int ntreeCompositTagAnimated | ( | bNodeTree * | ntree | ) |
Definition at line 808 of file node_composite_tree.c.
References CMP_NODE_IMAGE, CMP_NODE_MOVIECLIP, CMP_NODE_TIME, CMP_NODE_TRANSFORM, ELEM, ListBase::first, bNode::id, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, bNode::next, node_animation_properties(), NODE_GROUP, bNodeTree::nodes, nodeUpdate(), ntreeCompositTagAnimated(), NULL, Image::source, and bNode::type.
Referenced by do_merge_fullsample(), do_render_composite_fields_blur_3d(), ED_update_for_newframe(), image_record_composite_apply(), and ntreeCompositTagAnimated().
void ntreeCompositTagGenerators | ( | bNodeTree * | ntree | ) |
Definition at line 848 of file node_composite_tree.c.
References CMP_NODE_IMAGE, CMP_NODE_R_LAYERS, ELEM, ListBase::first, bNode::next, bNodeTree::nodes, nodeUpdate(), NULL, and bNode::type.
void ntreeCompositTagRender | ( | Scene * | curscene | ) |
Definition at line 740 of file node_composite_tree.c.
References CMP_NODE_COMPOSITE, CMP_NODE_TEXTURE, ListBase::first, G, bNode::id, Scene::id, bNode::next, ID::next, bNodeTree::nodes, Scene::nodetree, nodeUpdate(), and bNode::type.
Referenced by do_merge_fullsample(), do_render_composite_fields_blur_3d(), node_read_renderlayers_exec(), and render_initialize_from_main().
static int setExecutableNodes | ( | bNodeTreeExec * | exec, |
ThreadData * | thd | ||
) | [static] |
Definition at line 375 of file node_composite_tree.c.
References CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, bNodeStack::data, data, ELEM, bNode::exec, bNodeType::execfunc, ListBase::first, bNode::flag, free_compbuf(), bNodeLink::fromnode, G, bNode::id, bNode::inputs, bNode::level, link(), bNodeSocket::link, MAX_SOCKET, bNode::name, bNode::need_exec, bNodeSocket::next, bNode::next, bNodeExec::node, NODE_FINISHED, node_get_stack(), NODE_GROUP, NODE_GROUP_EDIT, node_only_value(), NODE_READY, NODE_SKIPPED, bNodeTreeExec::nodeexec, bNodeTree::nodes, bNodeTreeExec::nodetree, ntreeHasType(), NULL, bNode::outputs, ThreadData::rd, bNodeTreeExec::stack, bNodeLink::tonode, bNode::type, and bNode::typeinfo.
Referenced by ntreeCompositExecTree().
static void update | ( | bNodeTree * | ntree | ) | [static] |
Definition at line 212 of file node_composite_tree.c.
References ntreeSetOutput().
Referenced by CustomData_external_read(), CustomData_external_write(), ED_uvedit_assign_image(), pbvh_flush_bb(), sculpt_undo_restore(), btDbvtBroadphase::setAabb(), stabilize_2d_add_exec(), stabilize_2d_remove_exec(), stabilize_2d_select_exec(), text_refresh_pyconstraints_exec(), ui_do_but_textedit(), ui_handle_menu_return_submenu(), unlink_text(), WM_jobs_callbacks(), and wm_keymap_test_and_clear_update().
Definition at line 106 of file node_composite_tree.c.
References bNodeSocket::cache, ListBase::first, bNode::need_exec, bNodeSocket::next, bNode::outputs, bNode::typeinfo, and bNodeType::updatefunc.
{ NTREE_COMPOSIT, "NTCompositing Nodetree", { NULL, NULL }, free_cache, free_node_cache, foreach_nodetree, foreach_nodeclass, localize, local_sync, local_merge, update, update_node, NULL, node_compo_pass_on, node_mute_get_links, NULL }
Definition at line 217 of file node_composite_tree.c.
Referenced by ntreeGetType().