Blender V5.0
COM_compositor.hh File Reference
#include <cstdint>
#include "DNA_node_types.h"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::compositor

Functions

void COM_execute (Render *render, RenderData *render_data, Scene *scene, bNodeTree *node_tree, const char *view_name, blender::compositor::RenderContext *render_context, blender::compositor::Profiler *profiler, blender::compositor::OutputTypes needed_outputs)
 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 78 of file COM_compositor.cc.

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::compositor::RenderContext * render_context,
blender::compositor::Profiler * profiler,
blender::compositor::OutputTypes needed_outputs )

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
RenderingRender 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 48 of file COM_compositor.cc.

References compositor_init_node_previews(), compositor_reset_node_tree_status(), g_compositor_mutex, lock, RE_compositor_execute(), and bNodeTree::runtime.

Referenced by blender::ed::space_node::compo_startjob(), and do_render_compositor().