|
Blender
V2.93
|
#include "BLI_threads.h"#include "BLT_translation.h"#include "BKE_node.h"#include "BKE_scene.h"#include "COM_ExecutionSystem.h"#include "COM_MovieDistortionOperation.h"#include "COM_WorkScheduler.h"#include "COM_compositor.h"#include "clew.h"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 (RenderData *render_data, Scene *scene, bNodeTree *node_tree, int rendering, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, const char *viewName) |
| The main method that is used to execute the compositor tree. It can be executed during editing (blenkernel/node.cc) or rendering (renderer/pipeline.c) More... | |
| void | COM_deinitialize () |
| Deinitialize the compositor caches and allocated memory. Use COM_clearCaches to only free the caches. More... | |
Variables | |
| struct { | |
| bool is_initialized = false | |
| ThreadMutex mutex | |
| } | g_compositor |
| void COM_deinitialize | ( | void | ) |
Deinitialize the compositor caches and allocated memory. Use COM_clearCaches to only free the caches.
Definition at line 117 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 | ( | RenderData * | render_data, |
| Scene * | scene, | ||
| bNodeTree * | node_tree, | ||
| int | rendering, | ||
| const ColorManagedViewSettings * | viewSettings, | ||
| const ColorManagedDisplaySettings * | displaySettings, | ||
| const char * | viewName | ||
| ) |
The main method that is used to execute the compositor tree. It can be executed during editing (blenkernel/node.cc) or rendering (renderer/pipeline.c)
| rd | [struct RenderData] Render data for this composite, this won't always belong to a scene. |
| editingtree | [struct bNodeTree] reference to the compositor editing tree |
| rendering | [true false] 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.
| viewSettings | reference to view settings used for color management |
| displaySettings | reference to display settings used for color management |
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 65 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(), NTREE_COM_OPENCL, NTREE_TWO_PASS, and scene.
Referenced by ntreeCompositExecTree(), and WM_init().
|
static |
Definition at line 40 of file COM_compositor.cc.
References BKE_node_preview_init_tree(), blender::compositor::COM_PREVIEW_SIZE, float(), RenderData::xsch, and RenderData::ysch.
Referenced by COM_execute().
|
static |
| struct { ... } g_compositor |
Referenced by COM_deinitialize(), and COM_execute().
| bool is_initialized = false |
Definition at line 33 of file COM_compositor.cc.
Referenced by system_cpu_ensure_initialized().
| ThreadMutex mutex |
Definition at line 34 of file COM_compositor.cc.
Referenced by BKE_object_preview_geometry_set_add(), 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(), and CPUDevice::denoise_openimagedenoise_buffer().