|
Blender V4.3
|
#include "BLI_threads.h"#include "BLT_translation.hh"#include "DNA_userdef_types.h"#include "BKE_node.hh"#include "BKE_node_runtime.hh"#include "BKE_scene.hh"#include "COM_ExecutionSystem.h"#include "COM_WorkScheduler.h"#include "COM_compositor.hh"#include "RE_compositor.hh"Go to the source code of this file.
Functions | |
| static void | compositor_init_node_previews (const RenderData *render_data, bNodeTree *node_tree) |
| static void | compositor_reset_node_tree_status (bNodeTree *node_tree) |
| void | COM_execute (Render *render, RenderData *render_data, Scene *scene, bNodeTree *node_tree, const char *view_name, blender::realtime_compositor::RenderContext *render_context, blender::realtime_compositor::Profiler *profiler) |
The main method that is used to execute the compositor tree. It can be executed during editing (blenkernel/node.cc) or rendering (renderer/pipeline.cc). | |
| void | COM_deinitialize () |
| Deinitialize the compositor caches and allocated memory. Use COM_clear_caches to only free the caches. | |
Variables | ||
| struct { | ||
| bool is_initialized = false | ||
| ThreadMutex mutex | ||
| } | g_compositor | |
| void COM_deinitialize | ( | ) |
Deinitialize the compositor caches and allocated memory. Use COM_clear_caches to only free the caches.
Definition at line 105 of file COM_compositor.cc.
References BLI_mutex_end(), BLI_mutex_lock(), BLI_mutex_unlock(), blender::compositor::WorkScheduler::deinitialize(), and g_compositor.
Referenced by WM_exit_ex().
| void COM_execute | ( | Render * | render, |
| RenderData * | render_data, | ||
| Scene * | scene, | ||
| bNodeTree * | node_tree, | ||
| const char * | view_name, | ||
| blender::realtime_compositor::RenderContext * | render_context, | ||
| blender::realtime_compositor::Profiler * | profiler ) |
The main method that is used to execute the compositor tree. It can be executed during editing (blenkernel/node.cc) or rendering (renderer/pipeline.cc).
| render | Render instance for GPU context. |
| render_data | Render data for this composite, this won't always belong to a scene. |
| node_tree | Reference to the compositor editing tree |
| rendering | This parameter determines whether the function is called from rendering (true) or editing (false). based on this setting the system will work differently:
|
- during editing all output nodes will be calculated
- another quality setting can be used bNodeTree. The quality is determined by the bNodeTree fields. quality can be modified by the user from within the node panels. - output nodes can have different priorities in the WorkScheduler.This is implemented in the COM_execute function.
OCIO_TODO: this options only used in rare cases, namely in output file node, so probably this settings could be passed in a nicer way. should be checked further, probably it'll be also needed for preview generation in display space
Definition at line 54 of file COM_compositor.cc.
References BKE_render_num_threads(), BLI_mutex_init(), BLI_mutex_lock(), BLI_mutex_unlock(), compositor_init_node_previews(), compositor_reset_node_tree_status(), blender::compositor::ExecutionSystem::execute(), g_compositor, blender::compositor::WorkScheduler::initialize(), node_tree, RE_compositor_execute(), SCE_COMPOSITOR_DEVICE_GPU, and USER_EXPERIMENTAL_TEST.
Referenced by ntreeCompositExecTree().
|
static |
Definition at line 29 of file COM_compositor.cc.
References blender::compositor::COM_PREVIEW_SIZE, float, int, blender::bke::node_preview_init_tree(), node_tree, RenderData::xsch, and RenderData::ysch.
Referenced by COM_execute().
|
static |
Definition at line 48 of file COM_compositor.cc.
References IFACE_, and node_tree.
Referenced by COM_execute().
| struct { ... } g_compositor |
Referenced by COM_deinitialize(), and COM_execute().
| bool is_initialized = false |
Definition at line 22 of file COM_compositor.cc.
Referenced by blender::gpu::VKSamplers::init(), and blender::eevee::ShadowModule::sync_object().
| ThreadMutex mutex |
Definition at line 23 of file COM_compositor.cc.
Referenced by mem_guarded::internal::add_memleak_data(), BLI_condition_wait(), BLI_mutex_alloc(), BLI_mutex_end(), BLI_mutex_free(), BLI_mutex_init(), BLI_mutex_lock(), BLI_mutex_trylock(), BLI_mutex_unlock(), BLI_rw_mutex_alloc(), BLI_rw_mutex_end(), BLI_rw_mutex_free(), BLI_rw_mutex_init(), BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), btMutexLock(), btMutexTryLock(), btMutexUnlock(), blender::gpu::VKDevice::current_thread_data(), blender::gpu::VKDescriptorSetLayouts::deinit(), blender::gpu::VKDiscardPool::destroy_discarded_resources(), blender::gpu::VKDiscardPool::discard_buffer(), blender::gpu::VKDiscardPool::discard_image(), blender::gpu::VKDiscardPool::discard_image_view(), blender::gpu::VKDiscardPool::discard_pipeline_layout(), blender::gpu::VKDevice::discard_pool_for_current_thread(), blender::gpu::VKDiscardPool::discard_shader_module(), blender::gpu::VKDescriptorSetLayouts::get_or_create(), GHOST_SystemWayland::getClipboardImage(), blender::gpu::VKDiscardPool::move_data(), read_buffer_from_data_offer(), read_buffer_from_primary_selection_offer(), blender::bke::Instances::remove_unused_references(), stats_background(), system_clipboard_get(), and system_clipboard_get_primary_selection().