|
Blender V5.0
|
#include <algorithm>#include <optional>#include "MEM_guardedalloc.h"#include "DNA_material_types.h"#include "DNA_node_types.h"#include "DNA_text_types.h"#include "DNA_world_types.h"#include "BKE_callbacks.hh"#include "BKE_context.hh"#include "BKE_global.hh"#include "BKE_image.hh"#include "BKE_lib_id.hh"#include "BKE_main.hh"#include "BKE_main_invariants.hh"#include "BKE_material.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_node_runtime.hh"#include "BKE_node_tree_update.hh"#include "BKE_report.hh"#include "BKE_scene.hh"#include "BKE_scene_runtime.hh"#include "BKE_screen.hh"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_math_vector.hh"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_build.hh"#include "DEG_depsgraph_debug.hh"#include "DEG_depsgraph_query.hh"#include "NOD_shader_nodes_inline.hh"#include "RE_engine.h"#include "RE_pipeline.h"#include "ED_image.hh"#include "ED_node.hh"#include "ED_render.hh"#include "ED_screen.hh"#include "ED_viewer_path.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "RNA_prototypes.hh"#include "WM_api.hh"#include "WM_types.hh"#include "UI_view2d.hh"#include "GPU_capabilities.hh"#include "GPU_material.hh"#include "IMB_imbuf_types.hh"#include "NOD_composite.hh"#include "NOD_geometry.hh"#include "NOD_shader.h"#include "NOD_socket.hh"#include "NOD_texture.h"#include "node_intern.hh"#include "COM_compositor.hh"#include "COM_context.hh"#include "COM_profiler.hh"Go to the source code of this file.
Classes | |
| struct | blender::ed::space_node::CompoJob |
| struct | blender::ed::space_node::NodeSizeWidget |
Namespaces | |
| namespace | blender |
| namespace | blender::ed |
| namespace | blender::ed::space_node |
Macros | |
| #define | USE_ESC_COMPO |
| #define USE_ESC_COMPO |
Definition at line 87 of file node_edit.cc.
Referenced by blender::ed::space_node::compo_breakjob().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from compositing buttons or header.
Definition at line 581 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), C, Scene::compositing_node_group, CTX_data_main(), DATA_, ED_node_composit_default_init(), G, G_DEBUG, blender::bke::node_tree_add_tree(), ntreeType_Composite, and printf.
Initializes an empty compositing node tree with default nodes.
Definition at line 601 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), BLI_assert, BLI_listbase_count(), C, CMP_NODE_R_LAYERS, CMP_NODE_VIEWER, CTX_data_main(), DATA_, ListBase::first, in, bNode::inputs, bNode::location, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_add_static_node(), NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, NODE_PREVIEW, NODE_REROUTE, blender::bke::node_set_active(), bNodeTree::nodes, NTREE_COMPOSIT, bNode::outputs, bNodeTree::tree_interface, and bNodeTree::type.
Referenced by ED_node_composit_default(), and blender::ed::space_node::new_compositing_node_group_exec().
| scene_owner | is the owner of the job, we don't use it for anything else currently so could also be a void pointer, but for now keep it an 'Scene' for consistency. |
Definition at line 371 of file node_edit.cc.
References BKE_image_backup_render(), BKE_image_ensure_viewer(), blender::ed::space_node::CompoJob::bmain, C, blender::ed::space_node::compo_canceljob(), blender::ed::space_node::compo_completejob(), blender::ed::space_node::compo_freejob(), blender::ed::space_node::compo_initjob(), blender::ed::space_node::compo_startjob(), blender::ed::space_node::compo_updatejob(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_window(), ELEM, G, get_compositor_needed_outputs(), IMA_TYPE_R_RESULT, is_compositing_possible(), NC_SCENE, ND_COMPO_RESULT, blender::ed::space_node::CompoJob::needed_outputs, blender::compositor::None, blender::ed::space_node::CompoJob::ntree, blender::compositor::Previews, blender::ed::space_node::CompoJob::scene, blender::ed::space_node::CompoJob::view_layer, WM_JOB_EXCL_RENDER, WM_JOB_PROGRESS, WM_JOB_TYPE_COMPOSITE, WM_jobs_callbacks_ex(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by image_refresh(), and blender::ed::space_node::node_area_refresh().
| bool ED_node_is_compositor | ( | const SpaceNode * | snode | ) |
Definition at line 487 of file node_edit.cc.
References ntreeType_Composite, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::composite_node_active(), blender::ed::space_node::composite_node_editable(), blender::ed::space_node::context_path_for_space_node(), blender::ed::space_node::draw_nodespace_back_pix(), blender::draw::color_management::drw_color_management_type_for_space_node(), ED_node_supports_preview(), ED_screen_stereo3d_required(), ED_space_node_color_sample(), ED_space_node_get_position(), blender::ed::space_node::viewer_linking::get_default_viewer_type(), blender::ed::space_node::node_active_link_viewer_poll(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_area_tag_tree_recalc(), blender::ed::space_node::node_group_idname(), blender::ed::space_node::node_group_operator_editable(), blender::ed::space_node::sample_invoke(), and wm_draw_region_stereo_set().
| bool ED_node_is_geometry | ( | const SpaceNode * | snode | ) |
Definition at line 502 of file node_edit.cc.
References ntreeType_Geometry, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::context_path_for_space_node(), blender::nodes::geo_eval_log::get_root_log(), blender::ed::space_node::node_active_link_viewer_poll(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
| bool ED_node_is_shader | ( | SpaceNode * | snode | ) |
Definition at line 492 of file node_edit.cc.
References ntreeType_Shader, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::context_path_for_space_node(), ED_node_supports_preview(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
| bool ED_node_is_texture | ( | SpaceNode * | snode | ) |
Definition at line 497 of file node_edit.cc.
References ntreeType_Texture, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
Definition at line 856 of file node_edit.cc.
Referenced by blender::ed::space_node::node_resize_modal(), and blender::ed::transform::special_aftertrans_update__node().
| void ED_node_set_active | ( | Main * | bmain, |
| SpaceNode * | snode, | ||
| bNodeTree * | ntree, | ||
| bNode * | node, | ||
| bool * | r_active_texture_changed ) |
Definition at line 728 of file node_edit.cc.
References blender::ed::viewer_path::activate_geometry_node(), BKE_main_ensure_invariants(), BKE_ntree_update_tag_active_output_changed(), CMP_NODE_VIEWER, ED_space_image_sync(), ELEM, bNode::flag, GEO_NODE_VIEWER, GPU_material_free(), GS, i, bNode::id, bNodeTree::id, ID_IM, LISTBASE_FOREACH, Main::materials, ID::name, NC_IMAGE, NC_MATERIAL, ND_NODES, NODE_ACTIVE_TEXTURE, NODE_DO_OUTPUT, NODE_GROUP, blender::bke::node_set_active(), blender::bke::node_tree_contains_tree(), NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, SH_NODE_OUTPUT_LIGHT, SH_NODE_OUTPUT_LINESTYLE, SH_NODE_OUTPUT_MATERIAL, SH_NODE_OUTPUT_WORLD, bNodeTree::type, bNode::type_legacy, WM_main_add_notifier(), and Main::worlds.
Referenced by blender::ed::space_node::add_node(), blender::ed::space_node::add_static_node(), blender::ed::space_node::node_add_image_exec(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_select_single(), and template_texture_select().
| void ED_node_set_tree_type | ( | SpaceNode * | snode, |
| blender::bke::bNodeTreeType * | typeinfo ) |
Definition at line 473 of file node_edit.cc.
References blender::bke::bNodeTreeType::idname, SpaceNode::node_tree_sub_type, SpaceNode::selected_node_group, STRNCPY_UTF8, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::node_space_subtype_set().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from shading buttons or header.
Definition at line 513 of file node_edit.cc.
References BKE_material_default_surface(), BKE_material_default_volume(), BKE_ntree_update_after_single_tree_change(), C, copy_v3_v3(), CTX_data_active_object(), DATA_, bNodeSocket::default_value, ELEM, GS, World::horr, Material::id, ID_LA, ID_MA, ID_WO, bNode::location, ID::name, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), blender::bke::node_set_active(), blender::bke::node_tree_add_tree_embedded(), blender::bke::node_tree_copy_tree(), blender::bke::node_unique_name(), Material::nodetree, World::nodetree, ntreeType_Shader, OB_VOLUME, output, bNodeTree::owner_id, printf, SH_NODE_BACKGROUND, SH_NODE_EMISSION, SH_NODE_OUTPUT_LIGHT, SH_NODE_OUTPUT_WORLD, SOCK_IN, SOCK_OUT, STRNCPY_UTF8, and Object::type.
Referenced by blender::bke::tests::IDSubDataTestData::IDSubDataTestData(), blender::bke::tests::MaterialTestData::MaterialTestData(), new_material_exec(), new_world_exec(), proj_paint_add_slot(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), and blender::nodes::tests::TEST_F().
| bool ED_node_supports_preview | ( | SpaceNode * | snode | ) |
Definition at line 507 of file node_edit.cc.
References ED_node_is_compositor(), ED_node_is_shader(), U, and USER_EXPERIMENTAL_TEST.
Referenced by blender::ed::space_node::node_previewable().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from shading buttons or header.
Definition at line 652 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), C, CTX_data_main(), G, G_DEBUG, Tex::id, in, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_set_active(), blender::bke::node_tree_add_tree_embedded(), Tex::nodetree, ntreeType_Texture, out, printf, TEX_NODE_CHECKER, and TEX_NODE_OUTPUT.
|
static |
Definition at line 323 of file node_edit.cc.
References bScreen::areabase, C, blender::compositor::Composite, CTX_wm_manager(), ED_space_image(), ELEM, SpaceNode::flag, SpaceNodeOverlay::flag, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, IMA_TYPE_R_RESULT, LISTBASE_FOREACH, blender::compositor::None, SpaceNode::overlay, blender::compositor::Previews, SN_OVERLAY_SHOW_PREVIEWS, SNODE_BACKDRAW, Image::source, SPACE_IMAGE, SPACE_NODE, SpaceLink::spacetype, Image::type, blender::compositor::Viewer, wmWindowManager::windows, and WM_window_get_active_screen().
Referenced by ED_node_composite_job().
|
static |
Definition at line 303 of file node_edit.cc.
References BKE_render_resolution(), C, RenderData::compositor_device, CTX_data_scene(), GPU_is_safe_texture_size(), Scene::r, RPT_ERROR, SCE_COMPOSITOR_DEVICE_GPU, and WM_global_report().
Referenced by ED_node_composite_job().