Blender V4.3
COM_compositor.hh File Reference
#include "DNA_color_types.h"
#include "DNA_node_types.h"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::realtime_compositor
 

Functions

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.
 

Function Documentation

◆ COM_deinitialize()

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().

◆ COM_execute()

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).

Parameters
renderRender instance for GPU context.
render_dataRender data for this composite, this won't always belong to a scene.
node_treeReference to the compositor editing tree
renderingThis parameter determines whether the function is called from rendering (true) or editing (false). based on this setting the system will work differently:
  • during rendering only Composite & the File output node will be calculated
See also
NodeOperation.is_output_program(bool rendering) of the specific operations
- during editing all output nodes will be calculated
NodeOperation.is_output_program(bool rendering) of the specific operations
- 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().