Blender
V3.3
|
Compositor output operation. More...
#include <COM_CompositorOperation.h>
Public Member Functions | |
CompositorOperation () | |
bool | is_active_compositor_output () const |
void | execute_region (rcti *rect, unsigned int tile_number) override |
when a chunk is executed by a CPUDevice, this method is called More... | |
void | set_scene (const struct Scene *scene) |
void | set_scene_name (const char *scene_name) |
void | set_view_name (const char *view_name) |
void | set_render_data (const RenderData *rd) |
bool | is_output_operation (bool) const override |
is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing. More... | |
void | init_execution () override |
void | deinit_execution () override |
eCompositorPriority | get_render_priority () const override |
get the render priority of this node. More... | |
void | determine_canvas (const rcti &preferred_area, rcti &r_area) override |
void | set_use_alpha_input (bool value) |
void | set_active (bool active) |
void | update_memory_buffer_partial (MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override |
![]() | |
virtual | ~NodeOperation () |
void | set_name (const std::string name) |
const std::string | get_name () const |
void | set_id (const int id) |
const int | get_id () const |
float | get_constant_value_default (float default_value) |
const float * | get_constant_elem_default (const float *default_elem) |
const NodeOperationFlags | get_flags () const |
std::optional< NodeOperationHash > | generate_hash () |
unsigned int | get_number_of_input_sockets () const |
unsigned int | get_number_of_output_sockets () const |
NodeOperationOutput * | get_output_socket (unsigned int index=0) |
NodeOperationInput * | get_input_socket (unsigned int index) |
NodeOperation * | get_input_operation (int index) |
void | set_execution_model (const eExecutionModel model) |
void | set_bnodetree (const bNodeTree *tree) |
void | set_execution_system (ExecutionSystem *system) |
virtual void | init_data () |
virtual void | execute_opencl_region (OpenCLDevice *, rcti *, unsigned int, MemoryBuffer **, MemoryBuffer *) |
when a chunk is executed by an OpenCLDevice, this method is called More... | |
virtual void | execute_opencl (OpenCLDevice *, MemoryBuffer *, cl_mem, MemoryBuffer **, std::list< cl_mem > *, std::list< cl_kernel > *) |
custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More... | |
void | set_canvas (const rcti &canvas_area) |
const rcti & | get_canvas () const |
void | unset_canvas () |
virtual bool | is_active_viewer_output () const |
is this operation the active viewer output user can select an ViewerNode to be active (the result of this node will be drawn on the backdrop). More... | |
virtual bool | determine_depending_area_of_interest (rcti *input, ReadBufferOperation *read_operation, rcti *output) |
void | set_canvas_input_index (unsigned int index) |
set the index of the input socket that will determine the canvas of this operation More... | |
void | set_determined_canvas_modifier (std::function< void(rcti &canvas)> fn) |
bool | is_braked () const |
void | update_draw () |
unsigned int | get_width () const |
unsigned int | get_height () const |
void | read_sampled (float result[4], float x, float y, PixelSampler sampler) |
void | read_filtered (float result[4], float x, float y, float dx[2], float dy[2]) |
void | read (float result[4], int x, int y, void *chunk_data) |
virtual void * | initialize_tile_data (rcti *) |
virtual void | deinitialize_tile_data (rcti *, void *) |
virtual MemoryBuffer * | get_input_memory_buffer (MemoryBuffer **) |
virtual std::unique_ptr< MetaData > | get_meta_data () |
void | render (MemoryBuffer *output_buf, Span< rcti > areas, Span< MemoryBuffer * > inputs_bufs) |
virtual void | update_memory_buffer (MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs)) |
virtual void | get_area_of_interest (int input_idx, const rcti &output_area, rcti &r_input_area) |
Get input operation area being read by this operation on rendering given output area. More... | |
void | get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area) |
Compositor output operation.
Definition at line 15 of file COM_CompositorOperation.h.
blender::compositor::CompositorOperation::CompositorOperation | ( | ) |
Definition at line 14 of file COM_CompositorOperation.cc.
References blender::compositor::NodeOperation::add_input_socket(), blender::compositor::Color, blender::compositor::NodeOperation::flags_, set_render_data(), blender::compositor::NodeOperationFlags::use_render_border, and blender::compositor::Value.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 57 of file COM_CompositorOperation.cc.
References BKE_image_ensure_viewer(), BKE_image_partial_update_mark_full_update(), BKE_image_signal(), BLI_thread_lock(), BLI_thread_unlock(), G, RenderResult::have_combined, IMA_SIGNAL_FREE, IMA_TYPE_R_RESULT, image(), blender::compositor::NodeOperation::is_braked(), LOCK_DRAW_IMAGE, MEM_freeN, RE_AcquireResultWrite(), RE_GetSceneRender(), RE_ReleaseResult(), RE_RenderViewGetByName(), RenderView::rectf, and RenderView::rectz.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 216 of file COM_CompositorOperation.cc.
References BKE_render_resolution(), BLI_rcti_init(), blender::compositor::NodeOperation::determine_canvas(), blender::compositor::NodeOperation::execution_model_, blender::compositor::FullFrame, height, RE_AcquireResultRead(), RE_GetSceneRender(), RE_ReleaseResult(), RenderResult::rectx, RenderResult::recty, blender::compositor::NodeOperation::set_determined_canvas_modifier(), blender::compositor::Tiled, and width.
|
overridevirtual |
when a chunk is executed by a CPUDevice, this method is called
rect | the rectangle of the chunk (location and size) |
chunk_number | the chunk_number to be calculated |
memory_buffers | all input MemoryBuffer's needed |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 116 of file COM_CompositorOperation.cc.
References blender::bke::attribute_accessor_functions::add(), BKE_render_resolution(), RenderData::border, buffer, color, blender::compositor::COM_DATA_TYPE_COLOR_CHANNELS, copy_v4_v4(), blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), blender::compositor::NodeOperation::is_braked(), RenderData::mode, blender::compositor::Nearest, offset, R_BORDER, R_CROP, blender::compositor::NodeOperation::read_sampled(), x, x2, rcti::xmax, rcti::xmin, rctf::xmin, y, y1, rcti::ymax, rcti::ymin, and rctf::ymin.
|
inlineoverridevirtual |
get the render priority of this node.
Reimplemented from blender::compositor::NodeOperation.
Definition at line 97 of file COM_CompositorOperation.h.
References blender::compositor::Medium.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 37 of file COM_CompositorOperation.cc.
References blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_input_socket_reader(), blender::compositor::NodeOperation::get_width(), and MEM_callocN.
|
inline |
Definition at line 70 of file COM_CompositorOperation.h.
Referenced by is_output_operation().
|
inlineoverridevirtual |
is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing.
Default behavior if not overridden, this operation will not be evaluated as being an output of the ExecutionSystem.
rendering | [true false] true: rendering false: editing |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 91 of file COM_CompositorOperation.h.
References is_active_compositor_output().
Definition at line 106 of file COM_CompositorOperation.h.
References blender::compositor::active.
Referenced by blender::compositor::CompositorNode::convert_to_operations().
|
inline |
Definition at line 87 of file COM_CompositorOperation.h.
Referenced by CompositorOperation(), and blender::compositor::CompositorNode::convert_to_operations().
Definition at line 75 of file COM_CompositorOperation.h.
References scene.
Referenced by blender::compositor::CompositorNode::convert_to_operations().
|
inline |
Definition at line 79 of file COM_CompositorOperation.h.
References BLI_strncpy().
Referenced by blender::compositor::CompositorNode::convert_to_operations().
Definition at line 102 of file COM_CompositorOperation.h.
Referenced by blender::compositor::CompositorNode::convert_to_operations().
|
inline |
Definition at line 83 of file COM_CompositorOperation.h.
Referenced by blender::compositor::CompositorNode::convert_to_operations().
|
overridevirtual |
Executes operation updating a memory buffer area. Multi-threaded calls.
Implements blender::compositor::MultiThreadedOperation.
Definition at line 200 of file COM_CompositorOperation.cc.
References blender::compositor::area(), blender::compositor::COM_DATA_TYPE_COLOR_CHANNELS, blender::compositor::COM_DATA_TYPE_VALUE_CHANNELS, blender::compositor::MemoryBuffer::copy_from(), blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), and inputs.