|
Blender V4.3
|
#include <COM_PreviewOperation.h>
Inherits blender::compositor::MultiThreadedOperation.
Public Member Functions | |
| PreviewOperation (const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, unsigned int default_width, unsigned int default_height) | |
| void | verify_preview (bke::bNodeInstanceHash *previews, bNodeInstanceKey key) |
| bool | is_output_operation (bool) const override |
| is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing. | |
| void | init_execution () override |
| void | deinit_execution () override |
| eCompositorPriority | get_render_priority () const override |
| get the render priority of this node. | |
| void | determine_canvas (const rcti &preferred_area, rcti &r_area) override |
| void | get_area_of_interest (int input_idx, const rcti &output_area, rcti &r_input_area) override |
| Get input operation area being read by this operation on rendering given output area. | |
| void | update_memory_buffer_partial (MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override |
Public Member Functions inherited from blender::compositor::NodeOperation | |
| 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 |
| const void | set_node_instance_key (const bNodeInstanceKey &node_instance_key) |
| const bNodeInstanceKey | get_node_instance_key () 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_bnodetree (const bNodeTree *tree) |
| void | set_execution_system (ExecutionSystem *system) |
| virtual void | init_data () |
| 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). | |
| void | set_canvas_input_index (unsigned int index) |
| set the index of the input socket that will determine the canvas of this operation | |
| 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 |
| 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) |
| void | get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area) |
Protected Attributes | |
| ImBuf * | output_image_ |
| bNodePreview * | preview_ |
| holds reference to the SDNA bNode, where this nodes will render the preview image for | |
| float | divider_ |
| unsigned int | default_width_ |
| unsigned int | default_height_ |
| const ColorManagedViewSettings * | view_settings_ |
| const ColorManagedDisplaySettings * | display_settings_ |
Protected Attributes inherited from blender::compositor::MultiThreadedOperation | |
| int | num_passes_ |
| int | current_pass_ |
Protected Attributes inherited from blender::compositor::NodeOperation | |
| rcti | canvas_ = COM_AREA_NONE |
| NodeOperationFlags | flags_ |
| ExecutionSystem * | exec_system_ |
Additional Inherited Members | |
Protected Member Functions inherited from blender::compositor::MultiThreadedOperation | |
| MultiThreadedOperation () | |
| virtual void | update_memory_buffer_started (MemoryBuffer *, const rcti &, Span< MemoryBuffer * >) |
| virtual void | update_memory_buffer_finished (MemoryBuffer *, const rcti &, Span< MemoryBuffer * >) |
Protected Member Functions inherited from blender::compositor::NodeOperation | |
| NodeOperation () | |
| virtual void | hash_output_params () |
| template<typename T > | |
| void | hash_param (T param) |
| template<typename T1 , typename T2 > | |
| void | hash_params (T1 param1, T2 param2) |
| template<typename T1 , typename T2 , typename T3 > | |
| void | hash_params (T1 param1, T2 param2, T3 param3) |
| void | add_input_socket (DataType datatype, ResizeMode resize_mode=ResizeMode::Center) |
| void | add_output_socket (DataType datatype) |
| SocketReader * | get_input_socket_reader (unsigned int index) |
Static Protected Member Functions inherited from blender::compositor::NodeOperation | |
| static void | combine_hashes (size_t &combined, size_t other) |
Definition at line 15 of file COM_PreviewOperation.h.
| blender::compositor::PreviewOperation::PreviewOperation | ( | const ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings, | ||
| unsigned int | default_width, | ||
| unsigned int | default_height ) |
Definition at line 13 of file COM_PreviewOperation.cc.
References blender::compositor::NodeOperation::add_input_socket(), blender::compositor::Align, blender::compositor::Color, default_height_, default_width_, display_settings_, divider_, blender::compositor::NodeOperation::flags_, blender::compositor::NodeOperationFlags::is_preview_operation, output_image_, preview_, blender::compositor::NodeOperationFlags::use_viewer_border, and view_settings_.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 55 of file COM_PreviewOperation.cc.
References output_image_.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 60 of file COM_PreviewOperation.cc.
References BLI_assert, BLI_rcti_init(), BLI_rcti_size_x(), BLI_rcti_size_y(), blender::compositor::COM_PREVIEW_SIZE, default_height_, default_width_, blender::compositor::NodeOperation::determine_canvas(), divider_, float, rcti::xmin, and rcti::ymin.
|
overridevirtual |
Get input operation area being read by this operation on rendering given output area.
Implementation don't need to ensure r_input_area is within input operation bounds. The caller must clamp it. TODO: See if it's possible to use parameter overloading (input_id for example).
| input_idx | Input operation index for which we want to calculate the area being read. |
| output_area | Area being rendered by this operation. |
| r_input_area | Returned input operation area that needs to be read in order to render given output area. |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 100 of file COM_PreviewOperation.cc.
References BLI_assert, divider_, UNUSED_VARS_NDEBUG, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
|
overridevirtual |
get the render priority of this node.
Reimplemented from blender::compositor::NodeOperation.
Definition at line 95 of file COM_PreviewOperation.cc.
References blender::compositor::Low.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 39 of file COM_PreviewOperation.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), bNodePreview::ibuf, imb_addrectImBuf(), IMB_rect_size_set(), output_image_, preview_, ImBuf::x, and ImBuf::y.
|
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 37 of file COM_PreviewOperation.h.
References G.
|
overridevirtual |
Executes operation updating a memory buffer area. Multi-threaded calls.
Implements blender::compositor::MultiThreadedOperation.
Definition at line 113 of file COM_PreviewOperation.cc.
References BLI_rcti_init(), blender::compositor::BuffersIteratorBuilder< T >::build(), ImBuf::byte_buffer, blender::compositor::Color, blender::compositor::COM_data_type_num_channels(), ImBufByteBuffer::data, display_settings_, divider_, blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_apply_v4(), IMB_colormanagement_processor_free(), output_image_, rgba_float_to_uchar(), and view_settings_.
| void blender::compositor::PreviewOperation::verify_preview | ( | bke::bNodeInstanceHash * | previews, |
| bNodeInstanceKey | key ) |
Definition at line 31 of file COM_PreviewOperation.cc.
References blender::bke::node_preview_verify(), and preview_.
|
protected |
Definition at line 25 of file COM_PreviewOperation.h.
Referenced by determine_canvas(), and PreviewOperation().
|
protected |
Definition at line 24 of file COM_PreviewOperation.h.
Referenced by determine_canvas(), and PreviewOperation().
|
protected |
Definition at line 28 of file COM_PreviewOperation.h.
Referenced by PreviewOperation(), and update_memory_buffer_partial().
|
protected |
Definition at line 23 of file COM_PreviewOperation.h.
Referenced by determine_canvas(), get_area_of_interest(), PreviewOperation(), and update_memory_buffer_partial().
|
protected |
Definition at line 17 of file COM_PreviewOperation.h.
Referenced by deinit_execution(), init_execution(), PreviewOperation(), and update_memory_buffer_partial().
|
protected |
holds reference to the SDNA bNode, where this nodes will render the preview image for
Definition at line 22 of file COM_PreviewOperation.h.
Referenced by init_execution(), PreviewOperation(), and verify_preview().
|
protected |
Definition at line 27 of file COM_PreviewOperation.h.
Referenced by PreviewOperation(), and update_memory_buffer_partial().