Blender
V3.3
|
#include <COM_OutputFileOperation.h>
Public Member Functions | |
OutputSingleLayerOperation (const Scene *scene, const RenderData *rd, const bNodeTree *tree, DataType datatype, const ImageFormatData *format, const char *path, const char *view_name, bool save_as_render) | |
~OutputSingleLayerOperation () | |
void | execute_region (rcti *rect, unsigned int tile_number) override |
when a chunk is executed by a CPUDevice, this method is called More... | |
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 | 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) |
virtual void | determine_canvas (const rcti &preferred_area, rcti &r_area) |
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) |
Protected Attributes | |
const RenderData * | rd_ |
const bNodeTree * | tree_ |
ImageFormatData | format_ |
char | path_ [FILE_MAX] |
float * | output_buffer_ |
DataType | datatype_ |
SocketReader * | image_input_ |
const char * | view_name_ |
bool | save_as_render_ |
![]() | |
int | num_passes_ |
int | current_pass_ |
![]() | |
eExecutionModel | execution_model_ |
rcti | canvas_ = COM_AREA_NONE |
NodeOperationFlags | flags_ |
ExecutionSystem * | exec_system_ |
Definition at line 18 of file COM_OutputFileOperation.h.
blender::compositor::OutputSingleLayerOperation::OutputSingleLayerOperation | ( | const Scene * | scene, |
const RenderData * | rd, | ||
const bNodeTree * | tree, | ||
DataType | datatype, | ||
const ImageFormatData * | format, | ||
const char * | path, | ||
const char * | view_name, | ||
bool | save_as_render | ||
) |
Definition at line 203 of file COM_OutputFileOperation.cc.
References blender::compositor::NodeOperation::add_input_socket(), BKE_image_format_init_for_write(), BLI_strncpy(), datatype_, format_, image_input_, ImageFormatData::linear_colorspace_settings, ColorManagedColorspaceSettings::name, output_buffer_, path_, rd_, save_as_render_, scene, tree, tree_, and view_name_.
blender::compositor::OutputSingleLayerOperation::~OutputSingleLayerOperation | ( | ) |
Definition at line 234 of file COM_OutputFileOperation.cc.
References BKE_image_format_free(), and format_.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 250 of file COM_OutputFileOperation.cc.
References BKE_image_path_from_imformat(), BKE_imbuf_write(), BKE_main_blendfile_path_from_global(), BKE_scene_multiview_view_suffix_get(), RenderData::cfra, ImBuf::channels, datatype_, ImBuf::dither, RenderData::dither_intensity, FILE_MAX, format_, blender::compositor::get_datatype_size(), blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), IB_rectfloat, image_input_, IMB_allocImBuf(), IMB_colormanagement_imbuf_for_write(), IMB_freeImBuf(), ImBuf::mall, output_buffer_, path_, ImageFormatData::planes, R_EXTENSION, rd_, ImBuf::rect_float, save_as_render_, RenderData::scemode, size(), and view_name_.
|
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 245 of file COM_OutputFileOperation.cc.
References datatype_, blender::compositor::NodeOperation::get_width(), image_input_, output_buffer_, tree_, and blender::compositor::write_buffer_rect().
|
inlineoverridevirtual |
get the render priority of this node.
Reimplemented from blender::compositor::NodeOperation.
Definition at line 51 of file COM_OutputFileOperation.h.
References blender::compositor::Low.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 239 of file COM_OutputFileOperation.cc.
References datatype_, blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_input_socket_reader(), blender::compositor::NodeOperation::get_width(), image_input_, blender::compositor::init_buffer(), and output_buffer_.
|
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 45 of file COM_OutputFileOperation.h.
|
overridevirtual |
Executes operation updating a memory buffer area. Multi-threaded calls.
Implements blender::compositor::MultiThreadedOperation.
Definition at line 290 of file COM_OutputFileOperation.cc.
References blender::compositor::area(), blender::compositor::COM_data_type_num_channels(), blender::compositor::MemoryBuffer::copy_from(), datatype_, blender::compositor::NodeOperation::get_height(), blender::compositor::NodeOperation::get_width(), inputs, and output_buffer_.
|
protected |
Definition at line 27 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), deinit_execution(), execute_region(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), init_execution(), OutputSingleLayerOperation(), and update_memory_buffer_partial().
|
protected |
Definition at line 23 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), OutputSingleLayerOperation(), and ~OutputSingleLayerOperation().
|
protected |
Definition at line 28 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), execute_region(), init_execution(), and OutputSingleLayerOperation().
|
protected |
Definition at line 26 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), execute_region(), init_execution(), OutputSingleLayerOperation(), and update_memory_buffer_partial().
|
protected |
Definition at line 24 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), and OutputSingleLayerOperation().
|
protected |
Definition at line 20 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputStereoOperation::get_handle(), and OutputSingleLayerOperation().
|
protected |
Definition at line 31 of file COM_OutputFileOperation.h.
Referenced by deinit_execution(), and OutputSingleLayerOperation().
|
protected |
Definition at line 21 of file COM_OutputFileOperation.h.
Referenced by execute_region(), and OutputSingleLayerOperation().
|
protected |
Definition at line 30 of file COM_OutputFileOperation.h.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), deinit_execution(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputStereoOperation::get_handle(), and OutputSingleLayerOperation().