Blender  V3.3
Public Member Functions | List of all members
blender::compositor::GaussianYBlurOperation Class Reference

#include <COM_GaussianYBlurOperation.h>

Inheritance diagram for blender::compositor::GaussianYBlurOperation:
blender::compositor::GaussianBlurBaseOperation blender::compositor::BlurBaseOperation blender::compositor::MultiThreadedOperation blender::compositor::QualityStepHelper blender::compositor::NodeOperation

Public Member Functions

 GaussianYBlurOperation ()
 
void execute_pixel (float output[4], int x, int y, void *data) override
 
void execute_opencl (OpenCLDevice *device, MemoryBuffer *output_memory_buffer, cl_mem cl_output_buffer, MemoryBuffer **input_memory_buffers, std::list< cl_mem > *cl_mem_to_clean_up, std::list< cl_kernel > *cl_kernels_to_clean_up) override
 custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More...
 
void init_execution () override
 initialize the execution More...
 
void deinit_execution () override
 
voidinitialize_tile_data (rcti *rect) override
 
bool determine_depending_area_of_interest (rcti *input, ReadBufferOperation *read_operation, rcti *output) override
 
void check_opencl ()
 
- Public Member Functions inherited from blender::compositor::GaussianBlurBaseOperation
 GaussianBlurBaseOperation (eDimension dim)
 
virtual void init_data () 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. More...
 
virtual void update_memory_buffer_partial (MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
 
- Public Member Functions inherited from blender::compositor::BlurBaseOperation
void set_data (const NodeBlurData *data)
 
void set_size (float size)
 
void set_extend_bounds (bool extend_bounds)
 
int get_blur_size (eDimension dim) const
 
void determine_canvas (const rcti &preferred_area, rcti &r_area) 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
 
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. More...
 
void set_execution_model (const eExecutionModel model)
 
void set_bnodetree (const bNodeTree *tree)
 
void set_execution_system (ExecutionSystem *system)
 
virtual void execute_region (rcti *, unsigned int)
 when a chunk is executed by a CPUDevice, this method is called More...
 
virtual void execute_opencl_region (OpenCLDevice *, rcti *, unsigned int, MemoryBuffer **, MemoryBuffer *)
 when a chunk is executed by an OpenCLDevice, this method is called More...
 
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). More...
 
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)
 
virtual eCompositorPriority get_render_priority () const
 get the render priority of this node. More...
 
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 deinitialize_tile_data (rcti *, void *)
 
virtual MemoryBufferget_input_memory_buffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDataget_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))
 
void get_area_of_interest (NodeOperation *input_op, const rcti &output_area, rcti &r_input_area)
 
- Public Member Functions inherited from blender::compositor::QualityStepHelper
 QualityStepHelper ()
 
void set_quality (eCompositorQuality quality)
 

Additional Inherited Members

- Protected Member Functions inherited from blender::compositor::BlurBaseOperation
 BlurBaseOperation (DataType data_type8)
 
floatmake_gausstab (float rad, int size)
 
floatmake_dist_fac_inverse (float rad, int size, int falloff)
 
void update_size ()
 
- Protected Member Functions inherited from blender::compositor::MultiThreadedOperation
 MultiThreadedOperation ()
 
virtual void update_memory_buffer_started (MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
 
virtual void update_memory_buffer_finished (MemoryBuffer *UNUSED(output), const rcti &UNUSED(area), Span< MemoryBuffer * > UNUSED(inputs))
 
- 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)
 
void set_width (unsigned int width)
 
void set_height (unsigned int height)
 
SocketReaderget_input_socket_reader (unsigned int index)
 
void deinit_mutex ()
 
void init_mutex ()
 
void lock_mutex ()
 
void unlock_mutex ()
 
void set_complex (bool complex)
 set whether this operation is complex More...
 
virtual void execute_pixel_sampled (float[4], float, float, PixelSampler)
 calculate a single pixel More...
 
virtual void execute_pixel_filtered (float[4], float, float, float[2], float[2])
 calculate a single pixel using an EWA filter More...
 
- Protected Member Functions inherited from blender::compositor::QualityStepHelper
void init_execution (QualityHelper helper)
 
int get_step () const
 
int get_offset_add () const
 
- Static Protected Member Functions inherited from blender::compositor::NodeOperation
static void combine_hashes (size_t &combined, size_t other)
 
- Protected Attributes inherited from blender::compositor::GaussianBlurBaseOperation
floatgausstab_
 
int filtersize_
 
float rad_
 
eDimension dimension_
 
- Protected Attributes inherited from blender::compositor::BlurBaseOperation
SocketReaderinput_program_
 
SocketReaderinput_size_
 
NodeBlurData data_
 
float size_
 
bool sizeavailable_
 
bool use_variable_size_
 
- Protected Attributes inherited from blender::compositor::MultiThreadedOperation
int num_passes_
 
int current_pass_
 
- Protected Attributes inherited from blender::compositor::NodeOperation
eExecutionModel execution_model_
 
rcti canvas_ = COM_AREA_NONE
 
NodeOperationFlags flags_
 
ExecutionSystemexec_system_
 
- Static Protected Attributes inherited from blender::compositor::BlurBaseOperation
static constexpr int IMAGE_INPUT_INDEX = 0
 
static constexpr int SIZE_INPUT_INDEX = 1
 

Detailed Description

Definition at line 11 of file COM_GaussianYBlurOperation.h.

Constructor & Destructor Documentation

◆ GaussianYBlurOperation()

blender::compositor::GaussianYBlurOperation::GaussianYBlurOperation ( )

Definition at line 9 of file COM_GaussianYBlurOperation.cc.

References Y.

Member Function Documentation

◆ check_opencl()

void blender::compositor::GaussianYBlurOperation::check_opencl ( )
inline

◆ deinit_execution()

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

◆ determine_depending_area_of_interest()

bool blender::compositor::GaussianYBlurOperation::determine_depending_area_of_interest ( rcti input,
ReadBufferOperation read_operation,
rcti output 
)
overridevirtual

◆ execute_opencl()

void blender::compositor::GaussianYBlurOperation::execute_opencl ( OpenCLDevice ,
MemoryBuffer ,
cl_mem  ,
MemoryBuffer **  ,
std::list< cl_mem > *  ,
std::list< cl_kernel > *   
)
overridevirtual

custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice.

Parameters
contextthe OpenCL context
programthe OpenCL program containing all compositor kernels
queuethe OpenCL command queue of the device the chunk is executed on
output_memory_bufferthe allocated memory buffer in main CPU memory
cl_output_bufferthe allocated memory buffer in OpenCLDevice memory
input_memory_buffersall input MemoryBuffer's needed
cl_mem_to_clean_upall created cl_mem references must be added to this list. Framework will clean this after execution
cl_kernels_to_clean_upall created cl_kernel references must be added to this list. Framework will clean this after execution

Reimplemented from blender::compositor::NodeOperation.

Definition at line 99 of file COM_GaussianYBlurOperation.cc.

References blender::compositor::OpenCLDevice::COM_cl_attach_memory_buffer_offset_to_kernel_parameter(), blender::compositor::OpenCLDevice::COM_cl_attach_memory_buffer_to_kernel_parameter(), blender::compositor::OpenCLDevice::COM_cl_attach_output_memory_buffer_to_kernel_parameter(), blender::compositor::OpenCLDevice::COM_cl_attach_size_to_kernel_parameter(), blender::compositor::OpenCLDevice::COM_cl_create_kernel(), blender::compositor::OpenCLDevice::COM_cl_enqueue_range(), blender::compositor::GaussianBlurBaseOperation::filtersize_, blender::compositor::GaussianBlurBaseOperation::gausstab_, blender::compositor::OpenCLDevice::get_context(), and blender::compositor::BlurBaseOperation::input_program_.

◆ execute_pixel()

void blender::compositor::GaussianYBlurOperation::execute_pixel ( float  output[4],
int  x,
int  y,
void data 
)
overridevirtual

◆ init_execution()

void blender::compositor::GaussianYBlurOperation::init_execution ( )
overridevirtual

◆ initialize_tile_data()

void * blender::compositor::GaussianYBlurOperation::initialize_tile_data ( rcti rect)
overridevirtual

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