Blender V4.3
blender::compositor::RenderLayersProg Class Reference

#include <COM_RenderLayersProg.h>

Inherits blender::compositor::MultiThreadedOperation.

Inherited by blender::compositor::RenderLayersAOOperation, blender::compositor::RenderLayersAlphaProg, and blender::compositor::RenderLayersDepthProg.

Public Member Functions

 RenderLayersProg (const char *pass_name, DataType type, int elementsize)
 
void set_scene (Scene *scene)
 
Sceneget_scene () const
 
void set_render_data (const RenderData *rd)
 
void set_layer_id (short layer_id)
 
short get_layer_id () const
 
void set_view_name (const char *view_name)
 
const char * get_view_name ()
 
void init_execution () override
 
void deinit_execution () override
 
std::unique_ptr< MetaDataget_meta_data () override
 
virtual 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 floatget_constant_elem_default (const float *default_elem)
 
const NodeOperationFlags get_flags () const
 
std::optional< NodeOperationHashgenerate_hash ()
 
unsigned int get_number_of_input_sockets () const
 
unsigned int get_number_of_output_sockets () const
 
NodeOperationOutputget_output_socket (unsigned int index=0)
 
NodeOperationInputget_input_socket (unsigned int index)
 
NodeOperationget_input_operation (int index)
 
virtual bool is_output_operation (bool) const
 is_output_operation determines whether this operation is an output of the ExecutionSystem during rendering or editing.
 
void set_bnodetree (const bNodeTree *tree)
 
void set_execution_system (ExecutionSystem *system)
 
virtual void init_data ()
 
void set_canvas (const rcti &canvas_area)
 
const rctiget_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)
 
virtual eCompositorPriority get_render_priority () const
 get the render priority of this node.
 
bool is_braked () const
 
void update_draw ()
 
unsigned int get_width () const
 
unsigned int get_height () const
 
virtual MemoryBufferget_input_memory_buffer (MemoryBuffer **)
 
void render (MemoryBuffer *output_buf, Span< rcti > areas, Span< MemoryBuffer * > inputs_bufs)
 
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.
 
void get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area)
 

Protected Member Functions

void determine_canvas (const rcti &preferred_area, rcti &r_area) override
 
floatget_input_buffer ()
 
- 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)
 
SocketReaderget_input_socket_reader (unsigned int index)
 

Protected Attributes

Scenescene_
 
short layer_id_
 
const char * view_name_
 
const MemoryBufferlayer_buffer_
 
floatinput_buffer_
 
std::string pass_name_
 
int elementsize_
 
const RenderDatard_
 render data used for active rendering
 
- 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_
 
ExecutionSystemexec_system_
 

Additional Inherited Members

- Static Protected Member Functions inherited from blender::compositor::NodeOperation
static void combine_hashes (size_t &combined, size_t other)
 

Detailed Description

Base class for all renderlayeroperations

Todo
Rename to operation.

Definition at line 22 of file COM_RenderLayersProg.h.

Constructor & Destructor Documentation

◆ RenderLayersProg()

blender::compositor::RenderLayersProg::RenderLayersProg ( const char * pass_name,
DataType type,
int elementsize )

Member Function Documentation

◆ deinit_execution()

void blender::compositor::RenderLayersProg::deinit_execution ( )
overridevirtual

Reimplemented from blender::compositor::NodeOperation.

Definition at line 57 of file COM_RenderLayersProg.cc.

References input_buffer_, and layer_buffer_.

◆ determine_canvas()

void blender::compositor::RenderLayersProg::determine_canvas ( const rcti & preferred_area,
rcti & r_area )
overrideprotectedvirtual

◆ get_input_buffer()

float * blender::compositor::RenderLayersProg::get_input_buffer ( )
inlineprotected

retrieve the reference to the float buffer of the renderer.

Definition at line 67 of file COM_RenderLayersProg.h.

References input_buffer_.

◆ get_layer_id()

short blender::compositor::RenderLayersProg::get_layer_id ( ) const
inline

Definition at line 98 of file COM_RenderLayersProg.h.

References layer_id_.

Referenced by determine_canvas(), get_meta_data(), and init_execution().

◆ get_meta_data()

◆ get_scene()

Scene * blender::compositor::RenderLayersProg::get_scene ( ) const
inline

Definition at line 86 of file COM_RenderLayersProg.h.

References scene_.

Referenced by determine_canvas(), get_meta_data(), and init_execution().

◆ get_view_name()

const char * blender::compositor::RenderLayersProg::get_view_name ( )
inline

Definition at line 106 of file COM_RenderLayersProg.h.

References view_name_.

◆ init_execution()

◆ set_layer_id()

void blender::compositor::RenderLayersProg::set_layer_id ( short layer_id)
inline

Definition at line 94 of file COM_RenderLayersProg.h.

References layer_id_.

◆ set_render_data()

void blender::compositor::RenderLayersProg::set_render_data ( const RenderData * rd)
inline

Definition at line 90 of file COM_RenderLayersProg.h.

References rd_.

◆ set_scene()

void blender::compositor::RenderLayersProg::set_scene ( Scene * scene)
inline

setter for the scene field. Will be called from

See also
RenderLayerNode to set the actual scene where the DNA, RNA and .blend access will be retrieved from.

Definition at line 82 of file COM_RenderLayersProg.h.

References scene, and scene_.

Referenced by RenderLayersProg().

◆ set_view_name()

void blender::compositor::RenderLayersProg::set_view_name ( const char * view_name)
inline

Definition at line 102 of file COM_RenderLayersProg.h.

References view_name_.

◆ update_memory_buffer_partial()

void blender::compositor::RenderLayersProg::update_memory_buffer_partial ( MemoryBuffer * output,
const rcti & area,
Span< MemoryBuffer * > inputs )
overridevirtual

Executes operation updating a memory buffer area. Multi-threaded calls.

Implements blender::compositor::MultiThreadedOperation.

Reimplemented in blender::compositor::RenderLayersAlphaProg, blender::compositor::RenderLayersAOOperation, and blender::compositor::RenderLayersDepthProg.

Definition at line 141 of file COM_RenderLayersProg.cc.

References BLI_assert, elementsize_, and layer_buffer_.

Member Data Documentation

◆ elementsize_

◆ input_buffer_

float* blender::compositor::RenderLayersProg::input_buffer_
protected

Cached instance to the float buffer inside the layer. TODO: To be removed with tiled implementation.

Definition at line 45 of file COM_RenderLayersProg.h.

Referenced by deinit_execution(), get_input_buffer(), init_execution(), and RenderLayersProg().

◆ layer_buffer_

◆ layer_id_

short blender::compositor::RenderLayersProg::layer_id_
protected

layer_id of the layer where this operation needs to get its data from

Definition at line 32 of file COM_RenderLayersProg.h.

Referenced by get_layer_id(), and set_layer_id().

◆ pass_name_

std::string blender::compositor::RenderLayersProg::pass_name_
protected

Render-pass where this operation needs to get its data from.

Definition at line 50 of file COM_RenderLayersProg.h.

Referenced by get_meta_data(), and init_execution().

◆ rd_

const RenderData* blender::compositor::RenderLayersProg::rd_
protected

render data used for active rendering

Definition at line 57 of file COM_RenderLayersProg.h.

Referenced by RenderLayersProg(), and set_render_data().

◆ scene_

Scene* blender::compositor::RenderLayersProg::scene_
protected

Reference to the scene object.

Definition at line 27 of file COM_RenderLayersProg.h.

Referenced by get_scene(), and set_scene().

◆ view_name_

const char* blender::compositor::RenderLayersProg::view_name_
protected

view_name of the view to use (unless another view is specified by the node

Definition at line 37 of file COM_RenderLayersProg.h.

Referenced by get_meta_data(), get_view_name(), init_execution(), and set_view_name().


The documentation for this class was generated from the following files: