Blender
V3.3
|
#include <COM_ViewerOperation.h>
Public Member Functions | |
ViewerOperation () | |
void | init_execution () override |
void | deinit_execution () override |
void | execute_region (rcti *rect, unsigned int tile_number) override |
when a chunk is executed by a CPUDevice, this method is called More... | |
void | determine_canvas (const rcti &preferred_area, rcti &r_area) override |
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 | set_image (Image *image) |
void | set_image_user (ImageUser *image_user) |
bool | is_active_viewer_output () const override |
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... | |
void | set_active (bool active) |
void | setCenterX (float centerX) |
void | setCenterY (float centerY) |
void | set_chunk_order (ChunkOrdering tile_order) |
float | getCenterX () const |
float | getCenterY () const |
ChunkOrdering | get_chunk_order () const |
eCompositorPriority | get_render_priority () const override |
get the render priority of this node. More... | |
void | set_use_alpha_input (bool value) |
void | set_render_data (const RenderData *rd) |
void | set_view_name (const char *view_name) |
void | set_view_settings (const ColorManagedViewSettings *view_settings) |
void | set_display_settings (const ColorManagedDisplaySettings *display_settings) |
void | update_memory_buffer_partial (MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override |
void | clear_display_buffer () |
![]() | |
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 | 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) |
Definition at line 13 of file COM_ViewerOperation.h.
blender::compositor::ViewerOperation::ViewerOperation | ( | ) |
Definition at line 17 of file COM_ViewerOperation.cc.
References blender::compositor::NodeOperation::add_input_socket(), blender::compositor::Color, blender::compositor::NodeOperation::flags_, blender::compositor::NodeOperationFlags::is_viewer_operation, set_image(), set_image_user(), blender::compositor::NodeOperationFlags::use_viewer_border, and blender::compositor::Value.
void blender::compositor::ViewerOperation::clear_display_buffer | ( | ) |
Definition at line 255 of file COM_ViewerOperation.cc.
References BLI_assert, BLI_rcti_init(), blender::compositor::COM_DATA_TYPE_COLOR_CHANNELS, blender::compositor::NodeOperation::exec_system_, is_active_viewer_output(), blender::compositor::ExecutionSystem::is_breaked(), ImBuf::x, and ImBuf::y.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 55 of file COM_ViewerOperation.cc.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 105 of file COM_ViewerOperation.cc.
References BKE_render_resolution(), blender::compositor::NodeOperation::determine_canvas(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
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 63 of file COM_ViewerOperation.cc.
References buffer, blender::compositor::NodeOperation::get_width(), blender::compositor::NodeOperation::is_braked(), blender::compositor::Nearest, offset, blender::compositor::NodeOperation::read_sampled(), x, x2, rcti::xmax, rcti::xmin, y, y1, rcti::ymax, and rcti::ymin.
|
inline |
Definition at line 90 of file COM_ViewerOperation.h.
|
overridevirtual |
get the render priority of this node.
Reimplemented from blender::compositor::NodeOperation.
Definition at line 210 of file COM_ViewerOperation.cc.
References blender::compositor::High, is_active_viewer_output(), and blender::compositor::Low.
|
inline |
Definition at line 82 of file COM_ViewerOperation.h.
|
inline |
Definition at line 86 of file COM_ViewerOperation.h.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 42 of file COM_ViewerOperation.cc.
References blender::compositor::NodeOperation::exec_system_, blender::compositor::NodeOperation::get_input_socket_reader(), is_active_viewer_output(), and blender::compositor::ExecutionSystem::is_breaked().
|
inlineoverridevirtual |
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).
Reimplemented from blender::compositor::NodeOperation.
Definition at line 62 of file COM_ViewerOperation.h.
Referenced by clear_display_buffer(), get_render_priority(), blender::compositor::DebugInfo::graphviz_operation(), init_execution(), and is_output_operation().
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 47 of file COM_ViewerOperation.h.
References G, and is_active_viewer_output().
Definition at line 66 of file COM_ViewerOperation.h.
References blender::compositor::active.
Referenced by blender::compositor::NodeOperationBuilder::register_viewer().
|
inline |
Definition at line 78 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
|
inline |
Definition at line 112 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
Definition at line 54 of file COM_ViewerOperation.h.
References image().
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), and ViewerOperation().
Definition at line 58 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), and ViewerOperation().
|
inline |
Definition at line 99 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
Definition at line 95 of file COM_ViewerOperation.h.
Referenced by blender::compositor::ViewerNode::convert_to_operations().
|
inline |
Definition at line 103 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
|
inline |
Definition at line 108 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
Definition at line 70 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
Definition at line 74 of file COM_ViewerOperation.h.
Referenced by blender::compositor::SplitViewerNode::convert_to_operations(), and blender::compositor::ViewerNode::convert_to_operations().
|
overridevirtual |
Executes operation updating a memory buffer area. Multi-threaded calls.
Implements blender::compositor::MultiThreadedOperation.
Definition at line 219 of file COM_ViewerOperation.cc.
References blender::compositor::area(), BLI_rcti_init(), BLI_rcti_size_x(), BLI_rcti_size_y(), blender::compositor::NodeOperation::canvas_, blender::compositor::COM_DATA_TYPE_COLOR_CHANNELS, blender::compositor::COM_DATA_TYPE_VALUE_CHANNELS, blender::compositor::MemoryBuffer::copy_from(), inputs, rcti::xmin, and rcti::ymin.