Blender  V3.3
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
blender::compositor::NodeOperation Class Reference

NodeOperation contains calculation logic. More...

#include <COM_NodeOperation.h>

Inheritance diagram for blender::compositor::NodeOperation:
blender::compositor::ConstantOperation blender::compositor::ConvertColorProfileOperation blender::compositor::DoubleEdgeMaskOperation blender::compositor::InpaintSimpleOperation blender::compositor::MultiThreadedOperation blender::compositor::PixelateOperation blender::compositor::ReadBufferOperation blender::compositor::SetSamplerOperation blender::compositor::SingleThreadedOperation blender::compositor::SocketProxyOperation blender::compositor::VectorBlurOperation blender::compositor::WriteBufferOperation blender::compositor::tests::HashedOperation blender::compositor::tests::NonHashedOperation

Public Member Functions

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 void determine_canvas (const rcti &preferred_area, rcti &r_area)
 
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 init_data ()
 
virtual void init_execution ()
 
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...
 
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...
 
virtual void deinit_execution ()
 
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...
 
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)
 
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 voidinitialize_tile_data (rcti *)
 
virtual void deinitialize_tile_data (rcti *, void *)
 
virtual MemoryBufferget_input_memory_buffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDataget_meta_data ()
 

Protected Member Functions

 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 (float output[4], int x, int y, void *)
 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...
 

Static Protected Member Functions

static void combine_hashes (size_t &combined, size_t other)
 

Protected Attributes

eExecutionModel execution_model_
 
rcti canvas_ = COM_AREA_NONE
 
NodeOperationFlags flags_
 
ExecutionSystemexec_system_
 

Friends

class DebugInfo
 

Full Frame Methods

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)
 

Detailed Description

NodeOperation contains calculation logic.

Subclasses needs to implement the execution method (defined in SocketReader) to implement logic.

Definition at line 303 of file COM_NodeOperation.h.

Constructor & Destructor Documentation

◆ ~NodeOperation()

virtual blender::compositor::NodeOperation::~NodeOperation ( )
inlinevirtual

Definition at line 352 of file COM_NodeOperation.h.

◆ NodeOperation()

blender::compositor::NodeOperation::NodeOperation ( )
protected

Definition at line 18 of file COM_NodeOperation.cc.

References canvas_, and blender::compositor::COM_AREA_NONE.

Member Function Documentation

◆ add_input_socket()

void blender::compositor::NodeOperation::add_input_socket ( DataType  datatype,
ResizeMode  resize_mode = ResizeMode::Center 
)
protected

Definition at line 97 of file COM_NodeOperation.cc.

Referenced by blender::compositor::OutputOpenExrMultiLayerOperation::add_layer(), blender::compositor::AntiAliasOperation::AntiAliasOperation(), blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BoxMaskOperation::BoxMaskOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::CompositorOperation::CompositorOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::ConvertColorProfileOperation::ConvertColorProfileOperation(), blender::compositor::ConvertColorSpaceOperation::ConvertColorSpaceOperation(), blender::compositor::ConvertColorToBWOperation::ConvertColorToBWOperation(), blender::compositor::ConvertColorToValueOperation::ConvertColorToValueOperation(), blender::compositor::ConvertColorToVectorOperation::ConvertColorToVectorOperation(), blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation(), blender::compositor::ConvertHSLToRGBOperation::ConvertHSLToRGBOperation(), blender::compositor::ConvertHSVToRGBOperation::ConvertHSVToRGBOperation(), blender::compositor::ConvertPremulToStraightOperation::ConvertPremulToStraightOperation(), blender::compositor::ConvertRGBToHSLOperation::ConvertRGBToHSLOperation(), blender::compositor::ConvertRGBToHSVOperation::ConvertRGBToHSVOperation(), blender::compositor::ConvertRGBToYCCOperation::ConvertRGBToYCCOperation(), blender::compositor::ConvertRGBToYUVOperation::ConvertRGBToYUVOperation(), blender::compositor::ConvertStraightToPremulOperation::ConvertStraightToPremulOperation(), blender::compositor::ConvertValueToColorOperation::ConvertValueToColorOperation(), blender::compositor::ConvertValueToVectorOperation::ConvertValueToVectorOperation(), blender::compositor::ConvertVectorToColorOperation::ConvertVectorToColorOperation(), blender::compositor::ConvertVectorToValueOperation::ConvertVectorToValueOperation(), blender::compositor::ConvertYCCToRGBOperation::ConvertYCCToRGBOperation(), blender::compositor::ConvertYUVToRGBOperation::ConvertYUVToRGBOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CropBaseOperation::CropBaseOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::DenoiseOperation::DenoiseOperation(), blender::compositor::DenoisePrefilterOperation::DenoisePrefilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DisplaceSimpleOperation::DisplaceSimpleOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::DoubleEdgeMaskOperation::DoubleEdgeMaskOperation(), blender::compositor::EllipseMaskOperation::EllipseMaskOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FastGaussianBlurValueOperation::FastGaussianBlurValueOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::GlareThresholdOperation::GlareThresholdOperation(), blender::compositor::tests::HashedOperation::HashedOperation(), blender::compositor::HueSaturationValueCorrectOperation::HueSaturationValueCorrectOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InpaintSimpleOperation::InpaintSimpleOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingOperation::KeyingOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::OutputSingleLayerOperation::OutputSingleLayerOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::PlaneCornerPinMaskOperation::PlaneCornerPinMaskOperation(), blender::compositor::PlaneCornerPinWarpImageOperation::PlaneCornerPinWarpImageOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::PreviewOperation::PreviewOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::ScaleOperation::ScaleOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::SeparateChannelOperation::SeparateChannelOperation(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetSamplerOperation::SetSamplerOperation(), blender::compositor::SMAABlendingWeightCalculationOperation::SMAABlendingWeightCalculationOperation(), blender::compositor::SMAAEdgeDetectionOperation::SMAAEdgeDetectionOperation(), blender::compositor::SMAANeighborhoodBlendingOperation::SMAANeighborhoodBlendingOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SplitOperation::SplitOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureBaseOperation::TextureBaseOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TransformOperation::TransformOperation(), blender::compositor::TranslateOperation::TranslateOperation(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorBlurOperation::VectorBlurOperation(), blender::compositor::VectorCurveOperation::VectorCurveOperation(), blender::compositor::ViewerOperation::ViewerOperation(), blender::compositor::WriteBufferOperation::WriteBufferOperation(), blender::compositor::ZCombineMaskOperation::ZCombineMaskOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().

◆ add_output_socket()

void blender::compositor::NodeOperation::add_output_socket ( DataType  datatype)
protected

Definition at line 102 of file COM_NodeOperation.cc.

Referenced by blender::compositor::AntiAliasOperation::AntiAliasOperation(), blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BokehImageOperation::BokehImageOperation(), blender::compositor::BoxMaskOperation::BoxMaskOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::BufferOperation::BufferOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::ConvertColorProfileOperation::ConvertColorProfileOperation(), blender::compositor::ConvertColorSpaceOperation::ConvertColorSpaceOperation(), blender::compositor::ConvertColorToBWOperation::ConvertColorToBWOperation(), blender::compositor::ConvertColorToValueOperation::ConvertColorToValueOperation(), blender::compositor::ConvertColorToVectorOperation::ConvertColorToVectorOperation(), blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation(), blender::compositor::ConvertHSLToRGBOperation::ConvertHSLToRGBOperation(), blender::compositor::ConvertHSVToRGBOperation::ConvertHSVToRGBOperation(), blender::compositor::ConvertPremulToStraightOperation::ConvertPremulToStraightOperation(), blender::compositor::ConvertRGBToHSLOperation::ConvertRGBToHSLOperation(), blender::compositor::ConvertRGBToHSVOperation::ConvertRGBToHSVOperation(), blender::compositor::ConvertRGBToYCCOperation::ConvertRGBToYCCOperation(), blender::compositor::ConvertRGBToYUVOperation::ConvertRGBToYUVOperation(), blender::compositor::ConvertStraightToPremulOperation::ConvertStraightToPremulOperation(), blender::compositor::ConvertValueToColorOperation::ConvertValueToColorOperation(), blender::compositor::ConvertValueToVectorOperation::ConvertValueToVectorOperation(), blender::compositor::ConvertVectorToColorOperation::ConvertVectorToColorOperation(), blender::compositor::ConvertVectorToValueOperation::ConvertVectorToValueOperation(), blender::compositor::ConvertYCCToRGBOperation::ConvertYCCToRGBOperation(), blender::compositor::ConvertYUVToRGBOperation::ConvertYUVToRGBOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CropBaseOperation::CropBaseOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::DenoiseOperation::DenoiseOperation(), blender::compositor::DenoisePrefilterOperation::DenoisePrefilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DisplaceSimpleOperation::DisplaceSimpleOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::DoubleEdgeMaskOperation::DoubleEdgeMaskOperation(), blender::compositor::EllipseMaskOperation::EllipseMaskOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FastGaussianBlurValueOperation::FastGaussianBlurValueOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::GlareThresholdOperation::GlareThresholdOperation(), blender::compositor::tests::HashedOperation::HashedOperation(), blender::compositor::HueSaturationValueCorrectOperation::HueSaturationValueCorrectOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::ImageAlphaOperation::ImageAlphaOperation(), blender::compositor::ImageDepthOperation::ImageDepthOperation(), blender::compositor::ImageOperation::ImageOperation(), blender::compositor::InpaintSimpleOperation::InpaintSimpleOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingOperation::KeyingOperation(), blender::compositor::KeyingScreenOperation::KeyingScreenOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MaskOperation::MaskOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MovieClipAlphaOperation::MovieClipAlphaOperation(), blender::compositor::MovieClipAttributeOperation::MovieClipAttributeOperation(), blender::compositor::MovieClipOperation::MovieClipOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::MultilayerColorOperation::MultilayerColorOperation(), blender::compositor::MultilayerValueOperation::MultilayerValueOperation(), blender::compositor::MultilayerVectorOperation::MultilayerVectorOperation(), blender::compositor::tests::NonHashedConstantOperation::NonHashedConstantOperation(), blender::compositor::tests::NonHashedOperation::NonHashedOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::PlaneDistortMaskOperation::PlaneDistortMaskOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::ReadBufferOperation::ReadBufferOperation(), blender::compositor::RenderLayersProg::RenderLayersProg(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::ScaleOperation::ScaleOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::SeparateChannelOperation::SeparateChannelOperation(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetColorOperation::SetColorOperation(), blender::compositor::SetSamplerOperation::SetSamplerOperation(), blender::compositor::SetValueOperation::SetValueOperation(), blender::compositor::SetVectorOperation::SetVectorOperation(), blender::compositor::SMAABlendingWeightCalculationOperation::SMAABlendingWeightCalculationOperation(), blender::compositor::SMAAEdgeDetectionOperation::SMAAEdgeDetectionOperation(), blender::compositor::SMAANeighborhoodBlendingOperation::SMAANeighborhoodBlendingOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SplitOperation::SplitOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureAlphaOperation::TextureAlphaOperation(), blender::compositor::TextureOperation::TextureOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TrackPositionOperation::TrackPositionOperation(), blender::compositor::TransformOperation::TransformOperation(), blender::compositor::TranslateOperation::TranslateOperation(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorBlurOperation::VectorBlurOperation(), blender::compositor::VectorCurveOperation::VectorCurveOperation(), blender::compositor::ZCombineMaskOperation::ZCombineMaskOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().

◆ combine_hashes()

static void blender::compositor::NodeOperation::combine_hashes ( size_t &  combined,
size_t  other 
)
inlinestaticprotected

Definition at line 664 of file COM_NodeOperation.h.

References BLI_ghashutil_combine_hash().

Referenced by generate_hash(), hash_param(), and hash_params().

◆ deinit_execution()

void blender::compositor::NodeOperation::deinit_execution ( )
virtual

Reimplemented in blender::compositor::ZCombineMaskOperation, blender::compositor::ZCombineOperation, blender::compositor::WriteBufferOperation, blender::compositor::ViewerOperation, blender::compositor::VectorCurveOperation, blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::TranslateOperation, blender::compositor::TonemapOperation, blender::compositor::TextureBaseOperation, blender::compositor::SplitOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::SMAAEdgeDetectionOperation, blender::compositor::SetSamplerOperation, blender::compositor::SetAlphaReplaceOperation, blender::compositor::SetAlphaMultiplyOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::RotateOperation, blender::compositor::RenderLayersProg, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::PosterizeOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::PixelateOperation, blender::compositor::OutputOpenExrMultiLayerOperation, blender::compositor::OutputSingleLayerOperation, blender::compositor::OutputStereoOperation, blender::compositor::OutputOpenExrMultiLayerMultiViewOperation, blender::compositor::OutputOpenExrSingleLayerMultiViewOperation, blender::compositor::NormalizeOperation, blender::compositor::MovieDistortionOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::MixBaseOperation, blender::compositor::MathBaseOperation, blender::compositor::MaskOperation, blender::compositor::MapValueOperation, blender::compositor::MapUVOperation, blender::compositor::MapRangeOperation, blender::compositor::LuminanceMatteOperation, blender::compositor::KeyingScreenOperation, blender::compositor::KeyingOperation, blender::compositor::KeyingDespillOperation, blender::compositor::InvertOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::BaseImageOperation, blender::compositor::HueSaturationValueCorrectOperation, blender::compositor::GlareThresholdOperation, blender::compositor::GlareBaseOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianBlurBaseOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::GaussianAlphaBlurBaseOperation, blender::compositor::GammaOperation, blender::compositor::GammaUncorrectOperation, blender::compositor::GammaCorrectOperation, blender::compositor::FlipOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::EllipseMaskOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::DotproductOperation, blender::compositor::DistanceRGBMatteOperation, blender::compositor::DisplaceSimpleOperation, blender::compositor::DisplaceOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DilateStepOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DifferenceMatteOperation, blender::compositor::DespeckleOperation, blender::compositor::DenoiseOperation, blender::compositor::CurveBaseOperation, blender::compositor::CropBaseOperation, blender::compositor::ConvolutionFilterOperation, blender::compositor::CombineChannelsOperation, blender::compositor::SeparateChannelOperation, blender::compositor::ConvertBaseOperation, blender::compositor::ConvertDepthToRadiusOperation, blender::compositor::ConvertColorSpaceOperation, blender::compositor::ConvertColorProfileOperation, blender::compositor::CompositorOperation, blender::compositor::ColorSpillOperation, blender::compositor::ColorRampOperation, blender::compositor::ColorMatteOperation, blender::compositor::ExposureOperation, blender::compositor::ConstantLevelColorCurveOperation, blender::compositor::ColorCurveOperation, blender::compositor::ColorCorrectionOperation, blender::compositor::ColorBalanceLGGOperation, blender::compositor::ColorBalanceASCCDLOperation, blender::compositor::ChromaMatteOperation, blender::compositor::ChannelMatteOperation, blender::compositor::ChangeHSVOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BrightnessOperation, blender::compositor::BoxMaskOperation, blender::compositor::BokehImageOperation, blender::compositor::BokehBlurOperation, blender::compositor::BlurBaseOperation, blender::compositor::BilateralBlurOperation, blender::compositor::AntiAliasOperation, blender::compositor::SingleThreadedOperation, and blender::compositor::BufferOperation.

Definition at line 178 of file COM_NodeOperation.cc.

Referenced by blender::compositor::PlaneCornerPinMaskOperation::deinit_execution(), and blender::compositor::TextureBaseOperation::deinit_execution().

◆ deinit_mutex()

void blender::compositor::NodeOperation::deinit_mutex ( )
protected

◆ deinitialize_tile_data()

virtual void blender::compositor::NodeOperation::deinitialize_tile_data ( rcti ,
void  
)
inlinevirtual

◆ determine_canvas()

void blender::compositor::NodeOperation::determine_canvas ( const rcti preferred_area,
rcti r_area 
)
virtual

Reimplemented in blender::compositor::WriteBufferOperation, blender::compositor::ViewerOperation, blender::compositor::TranslateCanvasOperation, blender::compositor::TransformOperation, blender::compositor::TrackPositionOperation, blender::compositor::TextureBaseOperation, blender::compositor::SplitOperation, blender::compositor::SetVectorOperation, blender::compositor::SetValueOperation, blender::compositor::SetColorOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::RotateOperation, blender::compositor::RenderLayersProg, blender::compositor::ReadBufferOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::PlaneTrackWarpImageOperation, blender::compositor::PlaneTrackMaskOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::MovieClipAttributeOperation, blender::compositor::MixBaseOperation, blender::compositor::MathBaseOperation, blender::compositor::MaskOperation, blender::compositor::KeyingScreenOperation, blender::compositor::BaseImageOperation, blender::compositor::GlareThresholdOperation, blender::compositor::FlipOperation, blender::compositor::CropImageOperation, blender::compositor::CompositorOperation, blender::compositor::BokehImageOperation, blender::compositor::BokehBlurOperation, and blender::compositor::BlurBaseOperation.

Definition at line 107 of file COM_NodeOperation.cc.

References blender::compositor::COM_AREA_NONE, input, and blender::compositor::RESOLUTION_INPUT_ANY.

Referenced by blender::compositor::NodeOperationOutput::determine_canvas(), blender::compositor::BlurBaseOperation::determine_canvas(), blender::compositor::BokehBlurOperation::determine_canvas(), blender::compositor::CompositorOperation::determine_canvas(), blender::compositor::CropImageOperation::determine_canvas(), blender::compositor::FlipOperation::determine_canvas(), blender::compositor::GlareThresholdOperation::determine_canvas(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::PlaneCornerPinMaskOperation::determine_canvas(), blender::compositor::PlaneTrackMaskOperation::determine_canvas(), blender::compositor::PlaneTrackWarpImageOperation::determine_canvas(), blender::compositor::PreviewOperation::determine_canvas(), blender::compositor::ProjectorLensDistortionOperation::determine_canvas(), blender::compositor::RotateOperation::determine_canvas(), blender::compositor::ScaleOperation::determine_canvas(), blender::compositor::ScreenLensDistortionOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::TextureBaseOperation::determine_canvas(), blender::compositor::ViewerOperation::determine_canvas(), and blender::compositor::WriteBufferOperation::determine_canvas().

◆ determine_depending_area_of_interest()

bool blender::compositor::NodeOperation::determine_depending_area_of_interest ( rcti input,
ReadBufferOperation read_operation,
rcti output 
)
virtual

Reimplemented in blender::compositor::WrapOperation, blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::TranslateOperation, blender::compositor::TonemapOperation, blender::compositor::SunBeamsOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::SMAAEdgeDetectionOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleAbsoluteOperation, blender::compositor::ScaleRelativeOperation, blender::compositor::RotateOperation, blender::compositor::ReadBufferOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::NormalizeOperation, blender::compositor::MovieDistortionOperation, blender::compositor::MapUVOperation, blender::compositor::KeyingClipOperation, blender::compositor::KeyingBlurOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::GlareBaseOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::FlipOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::DisplaceSimpleOperation, blender::compositor::DisplaceOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DilateStepOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DespeckleOperation, blender::compositor::DenoiseBaseOperation, blender::compositor::CropImageOperation, blender::compositor::ConvolutionFilterOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BokehBlurOperation, blender::compositor::BilateralBlurOperation, and blender::compositor::AntiAliasOperation.

Definition at line 215 of file COM_NodeOperation.cc.

References BLI_rcti_init(), determine_depending_area_of_interest(), get_input_operation(), get_number_of_input_sockets(), input, MAX2, MIN2, output, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by determine_depending_area_of_interest(), blender::compositor::AntiAliasOperation::determine_depending_area_of_interest(), blender::compositor::BilateralBlurOperation::determine_depending_area_of_interest(), blender::compositor::BokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::CalculateMeanOperation::determine_depending_area_of_interest(), blender::compositor::ConvolutionFilterOperation::determine_depending_area_of_interest(), blender::compositor::CropImageOperation::determine_depending_area_of_interest(), blender::compositor::DenoiseBaseOperation::determine_depending_area_of_interest(), blender::compositor::DespeckleOperation::determine_depending_area_of_interest(), blender::compositor::DilateErodeThresholdOperation::determine_depending_area_of_interest(), blender::compositor::DilateDistanceOperation::determine_depending_area_of_interest(), blender::compositor::DilateStepOperation::determine_depending_area_of_interest(), blender::compositor::DirectionalBlurOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceSimpleOperation::determine_depending_area_of_interest(), blender::compositor::DoubleEdgeMaskOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurValueOperation::determine_depending_area_of_interest(), blender::compositor::FlipOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBlurReferenceOperation::determine_depending_area_of_interest(), blender::compositor::GaussianXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GlareBaseOperation::determine_depending_area_of_interest(), blender::compositor::InpaintSimpleOperation::determine_depending_area_of_interest(), blender::compositor::KeyingBlurOperation::determine_depending_area_of_interest(), blender::compositor::KeyingClipOperation::determine_depending_area_of_interest(), blender::compositor::MapUVOperation::determine_depending_area_of_interest(), blender::compositor::MovieDistortionOperation::determine_depending_area_of_interest(), blender::compositor::NormalizeOperation::determine_depending_area_of_interest(), blender::compositor::PlaneDistortWarpImageOperation::determine_depending_area_of_interest(), blender::compositor::PreviewOperation::determine_depending_area_of_interest(), blender::compositor::RotateOperation::determine_depending_area_of_interest(), blender::compositor::ScaleRelativeOperation::determine_depending_area_of_interest(), blender::compositor::ScaleAbsoluteOperation::determine_depending_area_of_interest(), blender::compositor::ScaleFixedSizeOperation::determine_depending_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::SMAAEdgeDetectionOperation::determine_depending_area_of_interest(), blender::compositor::SMAABlendingWeightCalculationOperation::determine_depending_area_of_interest(), blender::compositor::SMAANeighborhoodBlendingOperation::determine_depending_area_of_interest(), blender::compositor::SunBeamsOperation::determine_depending_area_of_interest(), blender::compositor::TonemapOperation::determine_depending_area_of_interest(), blender::compositor::TranslateOperation::determine_depending_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::determine_depending_area_of_interest(), and blender::compositor::VectorBlurOperation::determine_depending_area_of_interest().

◆ execute_opencl()

virtual void blender::compositor::NodeOperation::execute_opencl ( OpenCLDevice ,
MemoryBuffer ,
cl_mem  ,
MemoryBuffer **  ,
std::list< cl_mem > *  ,
std::list< cl_kernel > *   
)
inlinevirtual

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 in blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::ErodeDistanceOperation, blender::compositor::DilateDistanceOperation, and blender::compositor::BokehBlurOperation.

Definition at line 497 of file COM_NodeOperation.h.

Referenced by blender::compositor::WriteBufferOperation::execute_opencl_region().

◆ execute_opencl_region()

virtual void blender::compositor::NodeOperation::execute_opencl_region ( OpenCLDevice ,
rcti ,
unsigned int  ,
MemoryBuffer **  ,
MemoryBuffer  
)
inlinevirtual

when a chunk is executed by an OpenCLDevice, this method is called

Note
this method is only implemented in WriteBufferOperation
Parameters
contextthe OpenCL context
programthe OpenCL program containing all compositor kernels
queuethe OpenCL command queue of the device the chunk is executed on
rectthe rectangle of the chunk (location and size)
chunk_numberthe chunk_number to be calculated
memory_buffersall input MemoryBuffer's needed
output_bufferthe outputbuffer to write to

Reimplemented in blender::compositor::WriteBufferOperation.

Definition at line 474 of file COM_NodeOperation.h.

Referenced by blender::compositor::OpenCLDevice::execute().

◆ execute_pixel()

virtual void blender::compositor::NodeOperation::execute_pixel ( float  output[4],
int  x,
int  y,
void  
)
inlineprotectedvirtual

calculate a single pixel

Note
this method is called for complex
Parameters
resultis a float[4] array to store the result
xthe x-coordinate of the pixel to calculate in image space
ythe y-coordinate of the pixel to calculate in image space
input_bufferschunks that can be read by their ReadBufferOperation.
chunk_datachunk specific data a during execution time.

Reimplemented in blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::PhotoreceptorTonemapOperation, blender::compositor::TonemapOperation, blender::compositor::SunBeamsOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::SMAAEdgeDetectionOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::NormalizeOperation, blender::compositor::KeyingScreenOperation, blender::compositor::KeyingClipOperation, blender::compositor::KeyingBlurOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::IDMaskOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DilateStepOperation, blender::compositor::ErodeDistanceOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DespeckleOperation, blender::compositor::CryptomatteOperation, blender::compositor::ConvolutionFilterOperation, blender::compositor::ConvolutionEdgeFilterOperation, blender::compositor::CalculateStandardDeviationOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BokehBlurOperation, blender::compositor::BilateralBlurOperation, blender::compositor::AntiAliasOperation, and blender::compositor::SingleThreadedOperation.

Definition at line 741 of file COM_NodeOperation.h.

References execute_pixel_sampled(), blender::compositor::Nearest, output, x, and y.

Referenced by read().

◆ execute_pixel_filtered()

virtual void blender::compositor::NodeOperation::execute_pixel_filtered ( float  [4],
float  ,
float  ,
float  [2],
float  [2] 
)
inlineprotectedvirtual

calculate a single pixel using an EWA filter

Note
this method is called for complex
Parameters
resultis a float[4] array to store the result
xthe x-coordinate of the pixel to calculate in image space
ythe y-coordinate of the pixel to calculate in image space
dx
dy
input_bufferschunks that can be read by their ReadBufferOperation.

Reimplemented in blender::compositor::ReadBufferOperation, and blender::compositor::BufferOperation.

Definition at line 756 of file COM_NodeOperation.h.

Referenced by read_filtered().

◆ execute_pixel_sampled()

virtual void blender::compositor::NodeOperation::execute_pixel_sampled ( float  [4],
float  ,
float  ,
PixelSampler   
)
inlineprotectedvirtual

calculate a single pixel

Note
this method is called for non-complex
Parameters
resultis a float[4] array to store the result
xthe x-coordinate of the pixel to calculate in image space
ythe y-coordinate of the pixel to calculate in image space
input_bufferschunks that can be read by their ReadBufferOperation.

Reimplemented in blender::compositor::ZCombineMaskOperation, blender::compositor::ZCombineOperation, blender::compositor::WriteBufferOperation, blender::compositor::WrapOperation, blender::compositor::VectorCurveOperation, blender::compositor::TranslateOperation, blender::compositor::TrackPositionOperation, blender::compositor::TextureAlphaOperation, blender::compositor::TextureBaseOperation, blender::compositor::SplitOperation, blender::compositor::SetVectorOperation, blender::compositor::SetValueOperation, blender::compositor::SetSamplerOperation, blender::compositor::SetColorOperation, blender::compositor::SetAlphaReplaceOperation, blender::compositor::SetAlphaMultiplyOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleAbsoluteOperation, blender::compositor::ScaleRelativeOperation, blender::compositor::RotateOperation, blender::compositor::RenderLayersDepthProg, blender::compositor::RenderLayersAlphaProg, blender::compositor::RenderLayersAOOperation, blender::compositor::RenderLayersProg, blender::compositor::ReadBufferOperation, blender::compositor::PosterizeOperation, blender::compositor::PlaneDistortMaskOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PixelateOperation, blender::compositor::MultilayerVectorOperation, blender::compositor::MultilayerValueOperation, blender::compositor::MultilayerColorOperation, blender::compositor::MovieDistortionOperation, blender::compositor::MovieClipAlphaOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::MovieClipAttributeOperation, blender::compositor::MixValueOperation, blender::compositor::MixSubtractOperation, blender::compositor::MixSoftLightOperation, blender::compositor::MixScreenOperation, blender::compositor::MixSaturationOperation, blender::compositor::MixOverlayOperation, blender::compositor::MixMultiplyOperation, blender::compositor::MixLinearLightOperation, blender::compositor::MixLightenOperation, blender::compositor::MixHueOperation, blender::compositor::MixGlareOperation, blender::compositor::MixDodgeOperation, blender::compositor::MixDivideOperation, blender::compositor::MixDifferenceOperation, blender::compositor::MixDarkenOperation, blender::compositor::MixColorOperation, blender::compositor::MixColorBurnOperation, blender::compositor::MixBlendOperation, blender::compositor::MixAddOperation, blender::compositor::MixBaseOperation, blender::compositor::MathSmoothMaxOperation, blender::compositor::MathSmoothMinOperation, blender::compositor::MathMultiplyAddOperation, blender::compositor::MathCompareOperation, blender::compositor::MathPingpongOperation, blender::compositor::MathWrapOperation, blender::compositor::MathSnapOperation, blender::compositor::MathTruncOperation, blender::compositor::MathExponentOperation, blender::compositor::MathSignOperation, blender::compositor::MathInverseSqrtOperation, blender::compositor::MathSqrtOperation, blender::compositor::MathFractOperation, blender::compositor::MathCeilOperation, blender::compositor::MathFloorOperation, blender::compositor::MathArcTan2Operation, blender::compositor::MathDegreesOperation, blender::compositor::MathRadiansOperation, blender::compositor::MathAbsoluteOperation, blender::compositor::MathModuloOperation, blender::compositor::MathGreaterThanOperation, blender::compositor::MathLessThanOperation, blender::compositor::MathRoundOperation, blender::compositor::MathMaximumOperation, blender::compositor::MathMinimumOperation, blender::compositor::MathLogarithmOperation, blender::compositor::MathPowerOperation, blender::compositor::MathArcTangentOperation, blender::compositor::MathArcCosineOperation, blender::compositor::MathArcSineOperation, blender::compositor::MathHyperbolicTangentOperation, blender::compositor::MathHyperbolicCosineOperation, blender::compositor::MathHyperbolicSineOperation, blender::compositor::MathTangentOperation, blender::compositor::MathCosineOperation, blender::compositor::MathSineOperation, blender::compositor::MathDivideOperation, blender::compositor::MathMultiplyOperation, blender::compositor::MathSubtractOperation, blender::compositor::MathAddOperation, blender::compositor::MaskOperation, blender::compositor::MapValueOperation, blender::compositor::MapUVOperation, blender::compositor::MapRangeOperation, blender::compositor::LuminanceMatteOperation, blender::compositor::KeyingOperation, blender::compositor::KeyingDespillOperation, blender::compositor::InvertOperation, blender::compositor::ImageDepthOperation, blender::compositor::ImageAlphaOperation, blender::compositor::ImageOperation, blender::compositor::HueSaturationValueCorrectOperation, blender::compositor::GlareThresholdOperation, blender::compositor::GammaOperation, blender::compositor::GammaUncorrectOperation, blender::compositor::GammaCorrectOperation, blender::compositor::FlipOperation, blender::compositor::EllipseMaskOperation, blender::compositor::DotproductOperation, blender::compositor::DistanceRGBMatteOperation, blender::compositor::DisplaceSimpleOperation, blender::compositor::DisplaceOperation, blender::compositor::DifferenceMatteOperation, blender::compositor::CropImageOperation, blender::compositor::CropOperation, blender::compositor::CombineChannelsOperation, blender::compositor::SeparateChannelOperation, blender::compositor::ConvertStraightToPremulOperation, blender::compositor::ConvertPremulToStraightOperation, blender::compositor::ConvertHSLToRGBOperation, blender::compositor::ConvertRGBToHSLOperation, blender::compositor::ConvertHSVToRGBOperation, blender::compositor::ConvertRGBToHSVOperation, blender::compositor::ConvertYUVToRGBOperation, blender::compositor::ConvertRGBToYUVOperation, blender::compositor::ConvertYCCToRGBOperation, blender::compositor::ConvertRGBToYCCOperation, blender::compositor::ConvertVectorToValueOperation, blender::compositor::ConvertVectorToColorOperation, blender::compositor::ConvertValueToVectorOperation, blender::compositor::ConvertColorToVectorOperation, blender::compositor::ConvertColorToBWOperation, blender::compositor::ConvertColorToValueOperation, blender::compositor::ConvertValueToColorOperation, blender::compositor::ConvertDepthToRadiusOperation, blender::compositor::ConvertColorSpaceOperation, blender::compositor::ConvertColorProfileOperation, blender::compositor::ColorSpillOperation, blender::compositor::ColorRampOperation, blender::compositor::ColorMatteOperation, blender::compositor::ExposureOperation, blender::compositor::ConstantLevelColorCurveOperation, blender::compositor::ColorCurveOperation, blender::compositor::ColorCorrectionOperation, blender::compositor::ColorBalanceLGGOperation, blender::compositor::ColorBalanceASCCDLOperation, blender::compositor::ChromaMatteOperation, blender::compositor::ChannelMatteOperation, blender::compositor::ChangeHSVOperation, blender::compositor::BrightnessOperation, blender::compositor::BoxMaskOperation, blender::compositor::BokehImageOperation, blender::compositor::AlphaOverPremultiplyOperation, blender::compositor::AlphaOverMixedOperation, blender::compositor::AlphaOverKeyOperation, and blender::compositor::BufferOperation.

Definition at line 725 of file COM_NodeOperation.h.

Referenced by execute_pixel(), and read_sampled().

◆ execute_region()

virtual void blender::compositor::NodeOperation::execute_region ( rcti ,
unsigned int   
)
inlinevirtual

when a chunk is executed by a CPUDevice, this method is called

Parameters
rectthe rectangle of the chunk (location and size)
chunk_numberthe chunk_number to be calculated
memory_buffersall input MemoryBuffer's needed

Reimplemented in blender::compositor::WriteBufferOperation, blender::compositor::ViewerOperation, blender::compositor::PreviewOperation, blender::compositor::OutputOpenExrMultiLayerOperation, blender::compositor::OutputSingleLayerOperation, and blender::compositor::CompositorOperation.

Definition at line 458 of file COM_NodeOperation.h.

Referenced by blender::compositor::CPUDevice::execute().

◆ generate_hash()

std::optional< NodeOperationHash > blender::compositor::NodeOperation::generate_hash ( )

Generate a hash that identifies the operation result in the current execution. Requires hash_output_params to be implemented, otherwise std::nullopt is returned. If the operation parameters or its linked inputs change, the hash must be re-generated.

Definition at line 41 of file COM_NodeOperation.cc.

References BLI_assert, canvas_, blender::compositor::COM_data_type_num_channels(), combine_hashes(), blender::get_default_hash(), blender::get_default_hash_2(), get_output_socket(), hash, hash_output_params(), hash_param(), hash_params(), input, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by blender::compositor::tests::TEST().

◆ get_area_of_interest() [1/2]

void blender::compositor::NodeOperation::get_area_of_interest ( int  input_idx,
const rcti output_area,
rcti r_input_area 
)
virtual

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).

Parameters
input_idxInput operation index for which we want to calculate the area being read.
output_areaArea being rendered by this operation.
r_input_areaReturned input operation area that needs to be read in order to render given output area.

Reimplemented in blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::TranslateOperation, blender::compositor::TransformOperation, blender::compositor::TonemapOperation, blender::compositor::SunBeamsOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::SMAAEdgeDetectionOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::RotateOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::NormalizeOperation, blender::compositor::MovieDistortionOperation, blender::compositor::MapUVOperation, blender::compositor::KeyingClipOperation, blender::compositor::KeyingBlurOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianBlurBaseOperation, blender::compositor::FlipOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::DisplaceSimpleOperation, blender::compositor::DisplaceOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DespeckleOperation, blender::compositor::DenoiseBaseOperation, blender::compositor::CropImageOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BokehBlurOperation, blender::compositor::BlurBaseOperation, blender::compositor::BilateralBlurOperation, blender::compositor::AntiAliasOperation, blender::compositor::GlareBaseOperation, blender::compositor::GaussianAlphaBlurBaseOperation, blender::compositor::DilateStepOperation, blender::compositor::DilateDistanceOperation, and blender::compositor::ConvolutionFilterOperation.

Definition at line 252 of file COM_NodeOperation.cc.

References get_canvas(), get_flags(), and get_input_operation().

Referenced by get_area_of_interest().

◆ get_area_of_interest() [2/2]

void blender::compositor::NodeOperation::get_area_of_interest ( NodeOperation input_op,
const rcti output_area,
rcti r_input_area 
)

◆ get_canvas()

const rcti & blender::compositor::NodeOperation::get_canvas ( ) const

Definition at line 189 of file COM_NodeOperation.cc.

References canvas_.

Referenced by blender::compositor::COM_convert_canvas(), blender::compositor::NodeOperationOutput::determine_canvas(), get_area_of_interest(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::CalculateMeanOperation::get_area_of_interest(), blender::compositor::DenoiseBaseOperation::get_area_of_interest(), blender::compositor::DirectionalBlurOperation::get_area_of_interest(), blender::compositor::DisplaceOperation::get_area_of_interest(), blender::compositor::DisplaceSimpleOperation::get_area_of_interest(), blender::compositor::DoubleEdgeMaskOperation::get_area_of_interest(), blender::compositor::FastGaussianBlurOperation::get_area_of_interest(), blender::compositor::FastGaussianBlurValueOperation::get_area_of_interest(), blender::compositor::InpaintSimpleOperation::get_area_of_interest(), blender::compositor::MapUVOperation::get_area_of_interest(), blender::compositor::NormalizeOperation::get_area_of_interest(), blender::compositor::PlaneDistortWarpImageOperation::get_area_of_interest(), blender::compositor::RotateOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::TonemapOperation::get_area_of_interest(), blender::compositor::TransformOperation::get_area_of_interest(), blender::compositor::VectorBlurOperation::get_area_of_interest(), get_height(), get_width(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::RotateOperation::init_data(), blender::compositor::RotateOperation::update_memory_buffer_partial(), and blender::compositor::ScaleOperation::update_memory_buffer_partial().

◆ get_constant_elem_default()

const float * blender::compositor::NodeOperation::get_constant_elem_default ( const float default_elem)

Get constant elem when operation is constant, otherwise return default_elem.

Definition at line 31 of file COM_NodeOperation.cc.

References BLI_assert, and get_flags().

Referenced by get_constant_value_default().

◆ get_constant_value_default()

float blender::compositor::NodeOperation::get_constant_value_default ( float  default_value)

◆ get_flags()

const NodeOperationFlags blender::compositor::NodeOperation::get_flags ( ) const
inline

◆ get_height()

unsigned int blender::compositor::NodeOperation::get_height ( ) const
inline

Definition at line 573 of file COM_NodeOperation.h.

References BLI_rcti_size_y(), and get_canvas().

Referenced by blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), blender::compositor::PlaneDistortBaseOperation::calculate_corners(), blender::compositor::OpenCLDevice::COM_cl_attach_size_to_kernel_parameter(), blender::compositor::COM_convert_canvas(), blender::compositor::DenoiseOperation::create_memory_buffer(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::GlareBaseOperation::create_memory_buffer(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), blender::compositor::OutputSingleLayerOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution(), blender::compositor::BokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::CalculateMeanOperation::determine_depending_area_of_interest(), blender::compositor::DenoiseBaseOperation::determine_depending_area_of_interest(), blender::compositor::DirectionalBlurOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceSimpleOperation::determine_depending_area_of_interest(), blender::compositor::DoubleEdgeMaskOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurValueOperation::determine_depending_area_of_interest(), blender::compositor::FlipOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GlareBaseOperation::determine_depending_area_of_interest(), blender::compositor::InpaintSimpleOperation::determine_depending_area_of_interest(), blender::compositor::MapUVOperation::determine_depending_area_of_interest(), blender::compositor::NormalizeOperation::determine_depending_area_of_interest(), blender::compositor::PlaneCornerPinWarpImageOperation::determine_depending_area_of_interest(), blender::compositor::ScaleRelativeOperation::determine_depending_area_of_interest(), blender::compositor::ScaleAbsoluteOperation::determine_depending_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::TonemapOperation::determine_depending_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::VectorBlurOperation::determine_depending_area_of_interest(), blender::compositor::WrapOperation::determine_depending_area_of_interest(), blender::compositor::ExecutionGroup::determine_resolution(), blender::compositor::DoubleEdgeMaskOperation::do_double_edge_mask(), blender::compositor::RenderLayersProg::do_interpolation(), blender::compositor::BokehBlurOperation::execute_opencl(), blender::compositor::VariableSizeBokehBlurOperation::execute_opencl(), blender::compositor::BokehBlurOperation::execute_pixel(), blender::compositor::ConvolutionEdgeFilterOperation::execute_pixel(), blender::compositor::ConvolutionFilterOperation::execute_pixel(), blender::compositor::DespeckleOperation::execute_pixel(), blender::compositor::GaussianBokehBlurOperation::execute_pixel(), blender::compositor::GaussianBlurReferenceOperation::execute_pixel(), blender::compositor::ProjectorLensDistortionOperation::execute_pixel(), blender::compositor::VariableSizeBokehBlurOperation::execute_pixel(), blender::compositor::BoxMaskOperation::execute_pixel_sampled(), blender::compositor::CropImageOperation::execute_pixel_sampled(), blender::compositor::DisplaceSimpleOperation::execute_pixel_sampled(), blender::compositor::EllipseMaskOperation::execute_pixel_sampled(), blender::compositor::FlipOperation::execute_pixel_sampled(), blender::compositor::ImageDepthOperation::execute_pixel_sampled(), blender::compositor::MapUVOperation::execute_pixel_sampled(), blender::compositor::MovieDistortionOperation::execute_pixel_sampled(), blender::compositor::MultilayerColorOperation::execute_pixel_sampled(), blender::compositor::MultilayerValueOperation::execute_pixel_sampled(), blender::compositor::MultilayerVectorOperation::execute_pixel_sampled(), blender::compositor::RenderLayersProg::execute_pixel_sampled(), blender::compositor::RenderLayersDepthProg::execute_pixel_sampled(), blender::compositor::ScaleAbsoluteOperation::execute_pixel_sampled(), blender::compositor::SplitOperation::execute_pixel_sampled(), blender::compositor::TextureBaseOperation::execute_pixel_sampled(), blender::compositor::CompositorOperation::execute_region(), blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::VectorBlurOperation::generate_vector_blur(), blender::compositor::GlareBaseOperation::get_area_of_interest(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::FlipOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::get_area_of_interest(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), blender::compositor::OutputStereoOperation::get_handle(), blender::compositor::WrapOperation::get_wrapped_original_ypos(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::BlurBaseOperation::init_data(), blender::compositor::BokehBlurOperation::init_data(), blender::compositor::GaussianBokehBlurOperation::init_data(), blender::compositor::GaussianBlurReferenceOperation::init_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::MovieDistortionOperation::init_data(), blender::compositor::ScaleOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::BokehImageOperation::init_execution(), blender::compositor::BoxMaskOperation::init_execution(), blender::compositor::CompositorOperation::init_execution(), blender::compositor::ConvertDepthToRadiusOperation::init_execution(), blender::compositor::DirectionalBlurOperation::init_execution(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::DisplaceSimpleOperation::init_execution(), blender::compositor::EllipseMaskOperation::init_execution(), blender::compositor::OutputSingleLayerOperation::init_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::init_execution(), blender::compositor::PreviewOperation::init_execution(), blender::compositor::RenderLayersProg::init_execution(), blender::compositor::WriteBufferOperation::init_execution(), blender::compositor::DoubleEdgeMaskOperation::initialize_tile_data(), blender::compositor::VariableSizeBokehBlurOperation::initialize_tile_data(), blender::compositor::WriteBufferOperation::read_resolution_from_input_socket(), blender::compositor::ReadBufferOperation::read_resolution_from_write_buffer(), blender::compositor::sample(), blender::compositor::CropBaseOperation::update_area(), blender::compositor::VectorBlurOperation::update_memory_buffer(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::CompositorOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionEdgeFilterOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionFilterOperation::update_memory_buffer_partial(), blender::compositor::CropImageOperation::update_memory_buffer_partial(), blender::compositor::DespeckleOperation::update_memory_buffer_partial(), blender::compositor::DisplaceSimpleOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::GaussianBlurReferenceOperation::update_memory_buffer_partial(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), blender::compositor::OutputSingleLayerOperation::update_memory_buffer_partial(), blender::compositor::PreviewOperation::update_memory_buffer_partial(), blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), blender::compositor::SplitOperation::update_memory_buffer_partial(), blender::compositor::TextureBaseOperation::update_memory_buffer_partial(), and blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial().

◆ get_id()

const int blender::compositor::NodeOperation::get_id ( ) const
inline

◆ get_input_memory_buffer()

virtual MemoryBuffer* blender::compositor::NodeOperation::get_input_memory_buffer ( MemoryBuffer **  )
inlinevirtual

◆ get_input_operation()

NodeOperation * blender::compositor::NodeOperation::get_input_operation ( int  index)

Definition at line 205 of file COM_NodeOperation.cc.

References get_input_socket(), and input.

Referenced by blender::compositor::PlaneDistortWarpImageOperation::calculate_corners(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::ScaleOperation::determine_canvas(), determine_depending_area_of_interest(), blender::compositor::AntiAliasOperation::determine_depending_area_of_interest(), blender::compositor::BokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::CalculateMeanOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceSimpleOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBlurReferenceOperation::determine_depending_area_of_interest(), blender::compositor::GaussianXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianYBlurOperation::determine_depending_area_of_interest(), blender::compositor::MapUVOperation::determine_depending_area_of_interest(), blender::compositor::NormalizeOperation::determine_depending_area_of_interest(), blender::compositor::PlaneCornerPinWarpImageOperation::determine_depending_area_of_interest(), blender::compositor::ProjectorLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::TonemapOperation::determine_depending_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::RotateOperation::ensure_degree(), blender::compositor::TranslateOperation::ensure_delta(), get_area_of_interest(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::CalculateMeanOperation::get_area_of_interest(), blender::compositor::DisplaceOperation::get_area_of_interest(), blender::compositor::DisplaceSimpleOperation::get_area_of_interest(), blender::compositor::MapUVOperation::get_area_of_interest(), blender::compositor::NormalizeOperation::get_area_of_interest(), blender::compositor::PlaneDistortWarpImageOperation::get_area_of_interest(), blender::compositor::RotateOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::get_area_of_interest(), blender::compositor::TonemapOperation::get_area_of_interest(), blender::compositor::TransformOperation::get_area_of_interest(), blender::compositor::BokehBlurOperation::init_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::ProjectorLensDistortionOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::TransformOperation::init_data(), blender::compositor::WriteBufferOperation::init_execution(), blender::compositor::AntiAliasOperation::initialize_tile_data(), blender::compositor::BokehBlurOperation::initialize_tile_data(), blender::compositor::GaussianAlphaXBlurOperation::initialize_tile_data(), blender::compositor::GaussianAlphaYBlurOperation::initialize_tile_data(), blender::compositor::GaussianBokehBlurOperation::initialize_tile_data(), blender::compositor::GaussianBlurReferenceOperation::initialize_tile_data(), blender::compositor::GaussianXBlurOperation::initialize_tile_data(), blender::compositor::GaussianYBlurOperation::initialize_tile_data(), blender::compositor::IDMaskOperation::initialize_tile_data(), blender::compositor::KeyingBlurOperation::initialize_tile_data(), blender::compositor::KeyingClipOperation::initialize_tile_data(), blender::compositor::SMAABlendingWeightCalculationOperation::initialize_tile_data(), blender::compositor::SMAANeighborhoodBlendingOperation::initialize_tile_data(), blender::compositor::SunBeamsOperation::initialize_tile_data(), blender::compositor::is_constant_foldable(), blender::compositor::read_input_corners(), blender::compositor::WriteBufferOperation::read_resolution_from_input_socket(), blender::compositor::RotateOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), and blender::compositor::BlurBaseOperation::update_size().

◆ get_input_socket()

NodeOperationInput * blender::compositor::NodeOperation::get_input_socket ( unsigned int  index)

Definition at line 92 of file COM_NodeOperation.cc.

Referenced by blender::compositor::NodeOperationBuilder::add_datatype_conversions(), blender::compositor::add_group_operations_recursive(), blender::compositor::NodeOperationBuilder::add_input_buffers(), blender::compositor::NodeConverter::add_input_proxy(), blender::compositor::NodeOperationBuilder::add_node_input_preview(), blender::compositor::NodeOperationBuilder::add_output_buffers(), blender::compositor::NodeConverter::add_output_proxy(), blender::compositor::NodeOperationBuilder::add_preview(), blender::compositor::COM_convert_canvas(), blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::AntiAliasingNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorBalanceNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorCurveNode::convert_to_operations(), blender::compositor::ExposureNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ColorToBWNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::CompositorNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DespeckleNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DisplaceNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::FilterNode::convert_to_operations(), blender::compositor::FlipNode::convert_to_operations(), blender::compositor::GammaNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::InpaintNode::convert_to_operations(), blender::compositor::InvertNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapRangeNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MathNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::NormalizeNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::OutputFileNode::convert_to_operations(), blender::compositor::PixelateNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::PosterizeNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::SeparateXYZNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SocketBufferNode::convert_to_operations(), blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::VectorCurveNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ViewLevelsNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::compositor::CryptomatteLegacyNode::create_cryptomatte_operation(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::RotateOperation::determine_canvas(), blender::compositor::ScaleOperation::determine_canvas(), blender::compositor::ScaleFixedSizeOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::TransformOperation::determine_canvas(), blender::compositor::TranslateCanvasOperation::determine_canvas(), blender::compositor::find_reachable_operations_recursive(), get_input_operation(), get_input_socket_reader(), blender::compositor::SocketProxyOperation::get_meta_data(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::tests::HashedOperation::HashedOperation(), blender::compositor::KeyingNode::setup_clip(), blender::compositor::KeyingNode::setup_despill(), blender::compositor::KeyingNode::setup_dilate_erode(), blender::compositor::KeyingNode::setup_feather(), blender::compositor::KeyingNode::setup_post_blur(), blender::compositor::KeyingNode::setup_pre_blur(), and blender::compositor::sort_operations_recursive().

◆ get_input_socket_reader()

SocketReader * blender::compositor::NodeOperation::get_input_socket_reader ( unsigned int  index)
protected

Definition at line 200 of file COM_NodeOperation.cc.

References get_input_socket(), and blender::compositor::NodeOperationInput::get_reader().

Referenced by blender::compositor::AntiAliasOperation::init_execution(), blender::compositor::BilateralBlurOperation::init_execution(), blender::compositor::BlurBaseOperation::init_execution(), blender::compositor::BokehBlurOperation::init_execution(), blender::compositor::BoxMaskOperation::init_execution(), blender::compositor::BrightnessOperation::init_execution(), blender::compositor::CalculateMeanOperation::init_execution(), blender::compositor::ChangeHSVOperation::init_execution(), blender::compositor::ChannelMatteOperation::init_execution(), blender::compositor::ChromaMatteOperation::init_execution(), blender::compositor::ColorBalanceASCCDLOperation::init_execution(), blender::compositor::ColorBalanceLGGOperation::init_execution(), blender::compositor::ColorCorrectionOperation::init_execution(), blender::compositor::ColorCurveOperation::init_execution(), blender::compositor::ConstantLevelColorCurveOperation::init_execution(), blender::compositor::ExposureOperation::init_execution(), blender::compositor::ColorMatteOperation::init_execution(), blender::compositor::ColorRampOperation::init_execution(), blender::compositor::ColorSpillOperation::init_execution(), blender::compositor::CompositorOperation::init_execution(), blender::compositor::ConvertColorProfileOperation::init_execution(), blender::compositor::ConvertColorSpaceOperation::init_execution(), blender::compositor::ConvertDepthToRadiusOperation::init_execution(), blender::compositor::ConvertBaseOperation::init_execution(), blender::compositor::SeparateChannelOperation::init_execution(), blender::compositor::CombineChannelsOperation::init_execution(), blender::compositor::ConvolutionFilterOperation::init_execution(), blender::compositor::CropBaseOperation::init_execution(), blender::compositor::CryptomatteOperation::init_execution(), blender::compositor::DenoiseOperation::init_execution(), blender::compositor::DespeckleOperation::init_execution(), blender::compositor::DifferenceMatteOperation::init_execution(), blender::compositor::DilateErodeThresholdOperation::init_execution(), blender::compositor::DilateDistanceOperation::init_execution(), blender::compositor::DilateStepOperation::init_execution(), blender::compositor::DirectionalBlurOperation::init_execution(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::DisplaceSimpleOperation::init_execution(), blender::compositor::DistanceRGBMatteOperation::init_execution(), blender::compositor::DotproductOperation::init_execution(), blender::compositor::DoubleEdgeMaskOperation::init_execution(), blender::compositor::EllipseMaskOperation::init_execution(), blender::compositor::FastGaussianBlurValueOperation::init_execution(), blender::compositor::FlipOperation::init_execution(), blender::compositor::GammaCorrectOperation::init_execution(), blender::compositor::GammaUncorrectOperation::init_execution(), blender::compositor::GammaOperation::init_execution(), blender::compositor::GlareBaseOperation::init_execution(), blender::compositor::GlareThresholdOperation::init_execution(), blender::compositor::HueSaturationValueCorrectOperation::init_execution(), blender::compositor::InpaintSimpleOperation::init_execution(), blender::compositor::InvertOperation::init_execution(), blender::compositor::KeyingDespillOperation::init_execution(), blender::compositor::KeyingOperation::init_execution(), blender::compositor::LuminanceMatteOperation::init_execution(), blender::compositor::MapRangeOperation::init_execution(), blender::compositor::MapUVOperation::init_execution(), blender::compositor::MapValueOperation::init_execution(), blender::compositor::MathBaseOperation::init_execution(), blender::compositor::MixBaseOperation::init_execution(), blender::compositor::MovieDistortionOperation::init_execution(), blender::compositor::NormalizeOperation::init_execution(), blender::compositor::OutputSingleLayerOperation::init_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::init_execution(), blender::compositor::PixelateOperation::init_execution(), blender::compositor::PlaneDistortWarpImageOperation::init_execution(), blender::compositor::PosterizeOperation::init_execution(), blender::compositor::PreviewOperation::init_execution(), blender::compositor::ProjectorLensDistortionOperation::init_execution(), blender::compositor::RotateOperation::init_execution(), blender::compositor::ScaleOperation::init_execution(), blender::compositor::ScaleFixedSizeOperation::init_execution(), blender::compositor::ScreenLensDistortionOperation::init_execution(), blender::compositor::SetAlphaMultiplyOperation::init_execution(), blender::compositor::SetAlphaReplaceOperation::init_execution(), blender::compositor::SetSamplerOperation::init_execution(), blender::compositor::SMAAEdgeDetectionOperation::init_execution(), blender::compositor::SMAABlendingWeightCalculationOperation::init_execution(), blender::compositor::SMAANeighborhoodBlendingOperation::init_execution(), blender::compositor::SplitOperation::init_execution(), blender::compositor::TextureBaseOperation::init_execution(), blender::compositor::TonemapOperation::init_execution(), blender::compositor::TranslateOperation::init_execution(), blender::compositor::VariableSizeBokehBlurOperation::init_execution(), blender::compositor::VectorBlurOperation::init_execution(), blender::compositor::VectorCurveOperation::init_execution(), blender::compositor::ViewerOperation::init_execution(), blender::compositor::ZCombineOperation::init_execution(), blender::compositor::ZCombineMaskOperation::init_execution(), blender::compositor::PlaneCornerPinMaskOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinWarpImageOperation::initialize_tile_data(), blender::compositor::ScreenLensDistortionOperation::initialize_tile_data(), blender::compositor::CropBaseOperation::update_area(), blender::compositor::ProjectorLensDistortionOperation::update_dispersion(), and blender::compositor::BlurBaseOperation::update_size().

◆ get_meta_data()

virtual std::unique_ptr<MetaData> blender::compositor::NodeOperation::get_meta_data ( )
inlinevirtual

Return the meta data associated with this branch.

The return parameter holds an instance or is an nullptr.

Reimplemented in blender::compositor::SocketProxyOperation, blender::compositor::RenderLayersProg, and blender::compositor::MultilayerColorOperation.

Definition at line 611 of file COM_NodeOperation.h.

Referenced by blender::compositor::SocketProxyOperation::get_meta_data().

◆ get_name()

const std::string blender::compositor::NodeOperation::get_name ( ) const
inline

◆ get_number_of_input_sockets()

unsigned int blender::compositor::NodeOperation::get_number_of_input_sockets ( ) const
inline

◆ get_number_of_output_sockets()

unsigned int blender::compositor::NodeOperation::get_number_of_output_sockets ( ) const
inline

◆ get_output_socket()

NodeOperationOutput * blender::compositor::NodeOperation::get_output_socket ( unsigned int  index = 0)

Definition at line 87 of file COM_NodeOperation.cc.

Referenced by blender::compositor::NodeOperationBuilder::add_datatype_conversions(), blender::compositor::NodeOperationBuilder::add_input_buffers(), blender::compositor::NodeConverter::add_input_color(), blender::compositor::NodeOperationBuilder::add_input_constant_value(), blender::compositor::NodeConverter::add_input_proxy(), blender::compositor::NodeConverter::add_input_value(), blender::compositor::NodeConverter::add_input_vector(), blender::compositor::NodeOperationBuilder::add_output_buffers(), blender::compositor::NodeConverter::add_output_color(), blender::compositor::NodeConverter::add_output_proxy(), blender::compositor::NodeConverter::add_output_value(), blender::compositor::NodeConverter::add_output_vector(), blender::compositor::COM_convert_canvas(), blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::AntiAliasingNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BokehImageNode::convert_to_operations(), blender::compositor::BoxMaskNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ChannelMatteNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorBalanceNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorCurveNode::convert_to_operations(), blender::compositor::ExposureNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ColorToBWNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::CornerPinNode::convert_to_operations(), blender::compositor::CryptomatteBaseNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), blender::compositor::DenoiseNode::convert_to_operations(), blender::compositor::DespeckleNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DisplaceNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::EllipseMaskNode::convert_to_operations(), blender::compositor::FilterNode::convert_to_operations(), blender::compositor::FlipNode::convert_to_operations(), blender::compositor::GammaNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::HueSaturationValueNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::InpaintNode::convert_to_operations(), blender::compositor::InvertNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KeyingScreenNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapRangeNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MathNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::NormalizeNode::convert_to_operations(), blender::compositor::NormalNode::convert_to_operations(), blender::compositor::PixelateNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::PosterizeNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::SceneTimeNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SeparateColorNodeLegacy::convert_to_operations(), blender::compositor::SeparateXYZNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SocketBufferNode::convert_to_operations(), blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TimeNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::ValueNode::convert_to_operations(), blender::compositor::VectorCurveNode::convert_to_operations(), blender::compositor::ViewLevelsNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::RenderLayersProg::execute_pixel_sampled(), generate_hash(), get_constant_value_default(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::NodeConverter::set_invalid_output(), blender::compositor::KeyingNode::setup_clip(), blender::compositor::KeyingNode::setup_despill(), blender::compositor::KeyingNode::setup_dilate_erode(), blender::compositor::KeyingNode::setup_feather(), blender::compositor::KeyingNode::setup_post_blur(), blender::compositor::KeyingNode::setup_pre_blur(), blender::compositor::InpaintSimpleOperation::update_memory_buffer(), blender::compositor::VectorBlurOperation::update_memory_buffer(), blender::compositor::SplitOperation::update_memory_buffer_partial(), and blender::compositor::FastGaussianBlurOperation::update_memory_buffer_started().

◆ get_render_priority()

virtual eCompositorPriority blender::compositor::NodeOperation::get_render_priority ( ) const
inlinevirtual

◆ get_width()

unsigned int blender::compositor::NodeOperation::get_width ( ) const
inline

Definition at line 568 of file COM_NodeOperation.h.

References BLI_rcti_size_x(), and get_canvas().

Referenced by blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), blender::compositor::PlaneDistortBaseOperation::calculate_corners(), blender::compositor::OpenCLDevice::COM_cl_attach_size_to_kernel_parameter(), blender::compositor::COM_convert_canvas(), blender::compositor::DenoiseOperation::create_memory_buffer(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::GlareBaseOperation::create_memory_buffer(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), blender::compositor::OutputSingleLayerOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution(), blender::compositor::BokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::CalculateMeanOperation::determine_depending_area_of_interest(), blender::compositor::DenoiseBaseOperation::determine_depending_area_of_interest(), blender::compositor::DirectionalBlurOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceOperation::determine_depending_area_of_interest(), blender::compositor::DisplaceSimpleOperation::determine_depending_area_of_interest(), blender::compositor::DoubleEdgeMaskOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurOperation::determine_depending_area_of_interest(), blender::compositor::FastGaussianBlurValueOperation::determine_depending_area_of_interest(), blender::compositor::FlipOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianAlphaYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianXBlurOperation::determine_depending_area_of_interest(), blender::compositor::GaussianYBlurOperation::determine_depending_area_of_interest(), blender::compositor::GlareBaseOperation::determine_depending_area_of_interest(), blender::compositor::InpaintSimpleOperation::determine_depending_area_of_interest(), blender::compositor::MapUVOperation::determine_depending_area_of_interest(), blender::compositor::NormalizeOperation::determine_depending_area_of_interest(), blender::compositor::PlaneCornerPinWarpImageOperation::determine_depending_area_of_interest(), blender::compositor::ScaleRelativeOperation::determine_depending_area_of_interest(), blender::compositor::ScaleAbsoluteOperation::determine_depending_area_of_interest(), blender::compositor::ScreenLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::TonemapOperation::determine_depending_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::determine_depending_area_of_interest(), blender::compositor::VectorBlurOperation::determine_depending_area_of_interest(), blender::compositor::WrapOperation::determine_depending_area_of_interest(), blender::compositor::ExecutionGroup::determine_resolution(), blender::compositor::DoubleEdgeMaskOperation::do_double_edge_mask(), blender::compositor::RenderLayersProg::do_interpolation(), blender::compositor::BokehBlurOperation::execute_opencl(), blender::compositor::VariableSizeBokehBlurOperation::execute_opencl(), blender::compositor::BokehBlurOperation::execute_pixel(), blender::compositor::ConvolutionEdgeFilterOperation::execute_pixel(), blender::compositor::ConvolutionFilterOperation::execute_pixel(), blender::compositor::DespeckleOperation::execute_pixel(), blender::compositor::DoubleEdgeMaskOperation::execute_pixel(), blender::compositor::GaussianBokehBlurOperation::execute_pixel(), blender::compositor::GaussianBlurReferenceOperation::execute_pixel(), blender::compositor::ProjectorLensDistortionOperation::execute_pixel(), blender::compositor::VariableSizeBokehBlurOperation::execute_pixel(), blender::compositor::VectorBlurOperation::execute_pixel(), blender::compositor::BoxMaskOperation::execute_pixel_sampled(), blender::compositor::CropImageOperation::execute_pixel_sampled(), blender::compositor::DisplaceSimpleOperation::execute_pixel_sampled(), blender::compositor::EllipseMaskOperation::execute_pixel_sampled(), blender::compositor::FlipOperation::execute_pixel_sampled(), blender::compositor::ImageDepthOperation::execute_pixel_sampled(), blender::compositor::MapUVOperation::execute_pixel_sampled(), blender::compositor::MovieDistortionOperation::execute_pixel_sampled(), blender::compositor::MultilayerColorOperation::execute_pixel_sampled(), blender::compositor::MultilayerValueOperation::execute_pixel_sampled(), blender::compositor::MultilayerVectorOperation::execute_pixel_sampled(), blender::compositor::RenderLayersProg::execute_pixel_sampled(), blender::compositor::RenderLayersDepthProg::execute_pixel_sampled(), blender::compositor::ScaleAbsoluteOperation::execute_pixel_sampled(), blender::compositor::SplitOperation::execute_pixel_sampled(), blender::compositor::TextureBaseOperation::execute_pixel_sampled(), blender::compositor::CompositorOperation::execute_region(), blender::compositor::OutputSingleLayerOperation::execute_region(), blender::compositor::PreviewOperation::execute_region(), blender::compositor::ViewerOperation::execute_region(), blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::VectorBlurOperation::generate_vector_blur(), blender::compositor::GlareBaseOperation::get_area_of_interest(), blender::compositor::BokehBlurOperation::get_area_of_interest(), blender::compositor::FlipOperation::get_area_of_interest(), blender::compositor::ScaleOperation::get_area_of_interest(), blender::compositor::VariableSizeBokehBlurOperation::get_area_of_interest(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), blender::compositor::OutputStereoOperation::get_handle(), blender::compositor::WrapOperation::get_wrapped_original_xpos(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::BlurBaseOperation::init_data(), blender::compositor::BokehBlurOperation::init_data(), blender::compositor::GaussianBokehBlurOperation::init_data(), blender::compositor::GaussianBlurReferenceOperation::init_data(), blender::compositor::MapUVOperation::init_data(), blender::compositor::MovieDistortionOperation::init_data(), blender::compositor::ScaleOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::BokehImageOperation::init_execution(), blender::compositor::BoxMaskOperation::init_execution(), blender::compositor::CompositorOperation::init_execution(), blender::compositor::ConvertDepthToRadiusOperation::init_execution(), blender::compositor::DirectionalBlurOperation::init_execution(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::DisplaceSimpleOperation::init_execution(), blender::compositor::EllipseMaskOperation::init_execution(), blender::compositor::OutputSingleLayerOperation::init_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::init_execution(), blender::compositor::PreviewOperation::init_execution(), blender::compositor::RenderLayersProg::init_execution(), blender::compositor::WriteBufferOperation::init_execution(), blender::compositor::DoubleEdgeMaskOperation::initialize_tile_data(), blender::compositor::VariableSizeBokehBlurOperation::initialize_tile_data(), blender::compositor::WriteBufferOperation::read_resolution_from_input_socket(), blender::compositor::ReadBufferOperation::read_resolution_from_write_buffer(), blender::compositor::sample(), blender::compositor::CropBaseOperation::update_area(), blender::compositor::VectorBlurOperation::update_memory_buffer(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::CompositorOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionEdgeFilterOperation::update_memory_buffer_partial(), blender::compositor::ConvolutionFilterOperation::update_memory_buffer_partial(), blender::compositor::CropImageOperation::update_memory_buffer_partial(), blender::compositor::DespeckleOperation::update_memory_buffer_partial(), blender::compositor::DisplaceSimpleOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::GaussianBlurReferenceOperation::update_memory_buffer_partial(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), blender::compositor::OutputSingleLayerOperation::update_memory_buffer_partial(), blender::compositor::PreviewOperation::update_memory_buffer_partial(), blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), blender::compositor::SplitOperation::update_memory_buffer_partial(), blender::compositor::TextureBaseOperation::update_memory_buffer_partial(), and blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial().

◆ hash_output_params()

virtual void blender::compositor::NodeOperation::hash_output_params ( )
inlineprotectedvirtual

◆ hash_param()

template<typename T >
void blender::compositor::NodeOperation::hash_param ( T  param)
inlineprotected

◆ hash_params() [1/2]

template<typename T1 , typename T2 >
void blender::compositor::NodeOperation::hash_params ( T1  param1,
T2  param2 
)
inlineprotected

◆ hash_params() [2/2]

template<typename T1 , typename T2 , typename T3 >
void blender::compositor::NodeOperation::hash_params ( T1  param1,
T2  param2,
T3  param3 
)
inlineprotected

Definition at line 679 of file COM_NodeOperation.h.

References combine_hashes(), and blender::get_default_hash_3().

◆ init_data()

void blender::compositor::NodeOperation::init_data ( )
virtual

◆ init_execution()

void blender::compositor::NodeOperation::init_execution ( )
virtual

Reimplemented in blender::compositor::ZCombineMaskOperation, blender::compositor::ZCombineOperation, blender::compositor::WriteBufferOperation, blender::compositor::ViewerOperation, blender::compositor::VectorCurveOperation, blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::TranslateOperation, blender::compositor::TrackPositionOperation, blender::compositor::TonemapOperation, blender::compositor::TextureBaseOperation, blender::compositor::SunBeamsOperation, blender::compositor::SplitOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::SMAAEdgeDetectionOperation, blender::compositor::SetSamplerOperation, blender::compositor::SetAlphaReplaceOperation, blender::compositor::SetAlphaMultiplyOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ScaleFixedSizeOperation, blender::compositor::ScaleOperation, blender::compositor::RotateOperation, blender::compositor::RenderLayersProg, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PreviewOperation, blender::compositor::PosterizeOperation, blender::compositor::PlaneTrackWarpImageOperation, blender::compositor::PlaneTrackMaskOperation, blender::compositor::PlaneDistortMaskOperation, blender::compositor::PlaneDistortWarpImageOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::PixelateOperation, blender::compositor::OutputOpenExrMultiLayerOperation, blender::compositor::OutputSingleLayerOperation, blender::compositor::NormalizeOperation, blender::compositor::MovieDistortionOperation, blender::compositor::MovieClipBaseOperation, blender::compositor::MovieClipAttributeOperation, blender::compositor::MixBaseOperation, blender::compositor::MathBaseOperation, blender::compositor::MaskOperation, blender::compositor::MapValueOperation, blender::compositor::MapUVOperation, blender::compositor::MapRangeOperation, blender::compositor::LuminanceMatteOperation, blender::compositor::KeyingScreenOperation, blender::compositor::KeyingOperation, blender::compositor::KeyingDespillOperation, blender::compositor::InvertOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::BaseImageOperation, blender::compositor::HueSaturationValueCorrectOperation, blender::compositor::GlareThresholdOperation, blender::compositor::GlareBaseOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianBlurBaseOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::GaussianAlphaBlurBaseOperation, blender::compositor::GammaOperation, blender::compositor::GammaUncorrectOperation, blender::compositor::GammaCorrectOperation, blender::compositor::FlipOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::EllipseMaskOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::DotproductOperation, blender::compositor::DistanceRGBMatteOperation, blender::compositor::DisplaceSimpleOperation, blender::compositor::DisplaceOperation, blender::compositor::DirectionalBlurOperation, blender::compositor::DilateStepOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::DifferenceMatteOperation, blender::compositor::DespeckleOperation, blender::compositor::DenoiseOperation, blender::compositor::CurveBaseOperation, blender::compositor::CryptomatteOperation, blender::compositor::CropBaseOperation, blender::compositor::ConvolutionFilterOperation, blender::compositor::CombineChannelsOperation, blender::compositor::SeparateChannelOperation, blender::compositor::ConvertBaseOperation, blender::compositor::ConvertDepthToRadiusOperation, blender::compositor::ConvertColorSpaceOperation, blender::compositor::ConvertColorProfileOperation, blender::compositor::CompositorOperation, blender::compositor::ColorSpillOperation, blender::compositor::ColorRampOperation, blender::compositor::ColorMatteOperation, blender::compositor::ExposureOperation, blender::compositor::ConstantLevelColorCurveOperation, blender::compositor::ColorCurveOperation, blender::compositor::ColorCorrectionOperation, blender::compositor::ColorBalanceLGGOperation, blender::compositor::ColorBalanceASCCDLOperation, blender::compositor::ChromaMatteOperation, blender::compositor::ChannelMatteOperation, blender::compositor::ChangeHSVOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BrightnessOperation, blender::compositor::BoxMaskOperation, blender::compositor::BokehImageOperation, blender::compositor::BokehBlurOperation, blender::compositor::BlurBaseOperation, blender::compositor::BilateralBlurOperation, blender::compositor::AntiAliasOperation, blender::compositor::SingleThreadedOperation, and blender::compositor::BufferOperation.

Definition at line 153 of file COM_NodeOperation.cc.

Referenced by blender::compositor::TextureBaseOperation::init_execution().

◆ init_mutex()

void blender::compositor::NodeOperation::init_mutex ( )
protected

◆ initialize_tile_data()

virtual void* blender::compositor::NodeOperation::initialize_tile_data ( rcti )
inlinevirtual

Reimplemented in blender::compositor::VectorBlurOperation, blender::compositor::VariableSizeBokehBlurOperation, blender::compositor::TonemapOperation, blender::compositor::SunBeamsOperation, blender::compositor::SMAANeighborhoodBlendingOperation, blender::compositor::SMAABlendingWeightCalculationOperation, blender::compositor::ScreenLensDistortionOperation, blender::compositor::ReadBufferOperation, blender::compositor::ProjectorLensDistortionOperation, blender::compositor::PlaneCornerPinWarpImageOperation, blender::compositor::PlaneCornerPinMaskOperation, blender::compositor::NormalizeOperation, blender::compositor::KeyingScreenOperation, blender::compositor::KeyingClipOperation, blender::compositor::KeyingBlurOperation, blender::compositor::InpaintSimpleOperation, blender::compositor::IDMaskOperation, blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::FastGaussianBlurValueOperation, blender::compositor::FastGaussianBlurOperation, blender::compositor::DoubleEdgeMaskOperation, blender::compositor::ErodeStepOperation, blender::compositor::DilateStepOperation, blender::compositor::DilateDistanceOperation, blender::compositor::DilateErodeThresholdOperation, blender::compositor::CalculateStandardDeviationOperation, blender::compositor::CalculateMeanOperation, blender::compositor::BokehBlurOperation, blender::compositor::AntiAliasOperation, blender::compositor::SingleThreadedOperation, and blender::compositor::BufferOperation.

Definition at line 593 of file COM_NodeOperation.h.

Referenced by blender::compositor::DenoiseOperation::create_memory_buffer(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::GlareBaseOperation::create_memory_buffer(), blender::compositor::WriteBufferOperation::execute_region(), blender::compositor::AntiAliasOperation::initialize_tile_data(), blender::compositor::BokehBlurOperation::initialize_tile_data(), blender::compositor::CalculateMeanOperation::initialize_tile_data(), blender::compositor::CalculateStandardDeviationOperation::initialize_tile_data(), blender::compositor::DilateErodeThresholdOperation::initialize_tile_data(), blender::compositor::DilateDistanceOperation::initialize_tile_data(), blender::compositor::DilateStepOperation::initialize_tile_data(), blender::compositor::ErodeStepOperation::initialize_tile_data(), blender::compositor::DoubleEdgeMaskOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurValueOperation::initialize_tile_data(), blender::compositor::GaussianAlphaXBlurOperation::initialize_tile_data(), blender::compositor::GaussianAlphaYBlurOperation::initialize_tile_data(), blender::compositor::GaussianBokehBlurOperation::initialize_tile_data(), blender::compositor::GaussianBlurReferenceOperation::initialize_tile_data(), blender::compositor::GaussianXBlurOperation::initialize_tile_data(), blender::compositor::GaussianYBlurOperation::initialize_tile_data(), blender::compositor::IDMaskOperation::initialize_tile_data(), blender::compositor::InpaintSimpleOperation::initialize_tile_data(), blender::compositor::KeyingBlurOperation::initialize_tile_data(), blender::compositor::KeyingClipOperation::initialize_tile_data(), blender::compositor::NormalizeOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinMaskOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinWarpImageOperation::initialize_tile_data(), blender::compositor::ProjectorLensDistortionOperation::initialize_tile_data(), blender::compositor::ScreenLensDistortionOperation::initialize_tile_data(), blender::compositor::SMAABlendingWeightCalculationOperation::initialize_tile_data(), blender::compositor::SMAANeighborhoodBlendingOperation::initialize_tile_data(), blender::compositor::SunBeamsOperation::initialize_tile_data(), blender::compositor::TonemapOperation::initialize_tile_data(), blender::compositor::VariableSizeBokehBlurOperation::initialize_tile_data(), and blender::compositor::VectorBlurOperation::initialize_tile_data().

◆ is_active_viewer_output()

virtual bool blender::compositor::NodeOperation::is_active_viewer_output ( ) const
inlinevirtual

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).

Returns
[true:false]
See also
BaseViewerOperation

Reimplemented in blender::compositor::ViewerOperation.

Definition at line 522 of file COM_NodeOperation.h.

◆ is_braked()

bool blender::compositor::NodeOperation::is_braked ( ) const
inline

◆ is_output_operation()

virtual bool blender::compositor::NodeOperation::is_output_operation ( bool  ) const
inlinevirtual

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.

See also
ExecutionSystem
Parameters
rendering[true false] true: rendering false: editing
Returns
bool the result of this method

Reimplemented in blender::compositor::ViewerOperation, blender::compositor::PreviewOperation, blender::compositor::OutputOpenExrMultiLayerOperation, blender::compositor::OutputSingleLayerOperation, and blender::compositor::CompositorOperation.

Definition at line 423 of file COM_NodeOperation.h.

Referenced by blender::compositor::DebugInfo::graphviz_operation(), and blender::compositor::ExecutionGroup::set_render_border().

◆ lock_mutex()

void blender::compositor::NodeOperation::lock_mutex ( )
protected

Definition at line 163 of file COM_NodeOperation.cc.

References BLI_mutex_lock().

Referenced by blender::compositor::BufferOperation::initialize_tile_data(), blender::compositor::SingleThreadedOperation::initialize_tile_data(), blender::compositor::BokehBlurOperation::initialize_tile_data(), blender::compositor::CalculateMeanOperation::initialize_tile_data(), blender::compositor::CalculateStandardDeviationOperation::initialize_tile_data(), blender::compositor::DoubleEdgeMaskOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurValueOperation::initialize_tile_data(), blender::compositor::GaussianAlphaXBlurOperation::initialize_tile_data(), blender::compositor::GaussianAlphaYBlurOperation::initialize_tile_data(), blender::compositor::GaussianBokehBlurOperation::initialize_tile_data(), blender::compositor::GaussianXBlurOperation::initialize_tile_data(), blender::compositor::GaussianYBlurOperation::initialize_tile_data(), blender::compositor::InpaintSimpleOperation::initialize_tile_data(), blender::compositor::KeyingScreenOperation::initialize_tile_data(), blender::compositor::NormalizeOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinMaskOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinWarpImageOperation::initialize_tile_data(), blender::compositor::ScreenLensDistortionOperation::initialize_tile_data(), blender::compositor::TonemapOperation::initialize_tile_data(), blender::compositor::VectorBlurOperation::initialize_tile_data(), and blender::compositor::ProjectorLensDistortionOperation::update_dispersion().

◆ read()

void blender::compositor::NodeOperation::read ( float  result[4],
int  x,
int  y,
void chunk_data 
)
inline

◆ read_filtered()

void blender::compositor::NodeOperation::read_filtered ( float  result[4],
float  x,
float  y,
float  dx[2],
float  dy[2] 
)
inline

◆ read_sampled()

void blender::compositor::NodeOperation::read_sampled ( float  result[4],
float  x,
float  y,
PixelSampler  sampler 
)
inline

Definition at line 578 of file COM_NodeOperation.h.

References execute_pixel_sampled(), result, sampler(), x, and y.

Referenced by blender::compositor::ScaleRelativeOperation::determine_depending_area_of_interest(), blender::compositor::ScaleAbsoluteOperation::determine_depending_area_of_interest(), blender::compositor::RotateOperation::ensure_degree(), blender::compositor::TranslateOperation::ensure_delta(), blender::compositor::BokehBlurOperation::execute_pixel(), blender::compositor::DirectionalBlurOperation::execute_pixel(), blender::compositor::GaussianBokehBlurOperation::execute_pixel(), blender::compositor::AlphaOverKeyOperation::execute_pixel_sampled(), blender::compositor::AlphaOverMixedOperation::execute_pixel_sampled(), blender::compositor::AlphaOverPremultiplyOperation::execute_pixel_sampled(), blender::compositor::BoxMaskOperation::execute_pixel_sampled(), blender::compositor::BrightnessOperation::execute_pixel_sampled(), blender::compositor::ChangeHSVOperation::execute_pixel_sampled(), blender::compositor::ChannelMatteOperation::execute_pixel_sampled(), blender::compositor::ChromaMatteOperation::execute_pixel_sampled(), blender::compositor::ColorBalanceASCCDLOperation::execute_pixel_sampled(), blender::compositor::ColorBalanceLGGOperation::execute_pixel_sampled(), blender::compositor::ColorCorrectionOperation::execute_pixel_sampled(), blender::compositor::ColorCurveOperation::execute_pixel_sampled(), blender::compositor::ConstantLevelColorCurveOperation::execute_pixel_sampled(), blender::compositor::ExposureOperation::execute_pixel_sampled(), blender::compositor::ColorMatteOperation::execute_pixel_sampled(), blender::compositor::ColorRampOperation::execute_pixel_sampled(), blender::compositor::ColorSpillOperation::execute_pixel_sampled(), blender::compositor::ConvertColorProfileOperation::execute_pixel_sampled(), blender::compositor::ConvertColorSpaceOperation::execute_pixel_sampled(), blender::compositor::ConvertDepthToRadiusOperation::execute_pixel_sampled(), blender::compositor::ConvertValueToColorOperation::execute_pixel_sampled(), blender::compositor::ConvertColorToValueOperation::execute_pixel_sampled(), blender::compositor::ConvertColorToBWOperation::execute_pixel_sampled(), blender::compositor::ConvertColorToVectorOperation::execute_pixel_sampled(), blender::compositor::ConvertValueToVectorOperation::execute_pixel_sampled(), blender::compositor::ConvertVectorToColorOperation::execute_pixel_sampled(), blender::compositor::ConvertVectorToValueOperation::execute_pixel_sampled(), blender::compositor::ConvertRGBToYCCOperation::execute_pixel_sampled(), blender::compositor::ConvertYCCToRGBOperation::execute_pixel_sampled(), blender::compositor::ConvertRGBToYUVOperation::execute_pixel_sampled(), blender::compositor::ConvertYUVToRGBOperation::execute_pixel_sampled(), blender::compositor::ConvertRGBToHSVOperation::execute_pixel_sampled(), blender::compositor::ConvertHSVToRGBOperation::execute_pixel_sampled(), blender::compositor::ConvertRGBToHSLOperation::execute_pixel_sampled(), blender::compositor::ConvertHSLToRGBOperation::execute_pixel_sampled(), blender::compositor::ConvertPremulToStraightOperation::execute_pixel_sampled(), blender::compositor::ConvertStraightToPremulOperation::execute_pixel_sampled(), blender::compositor::SeparateChannelOperation::execute_pixel_sampled(), blender::compositor::CombineChannelsOperation::execute_pixel_sampled(), blender::compositor::CropOperation::execute_pixel_sampled(), blender::compositor::CropImageOperation::execute_pixel_sampled(), blender::compositor::DifferenceMatteOperation::execute_pixel_sampled(), blender::compositor::DisplaceOperation::execute_pixel_sampled(), blender::compositor::DisplaceSimpleOperation::execute_pixel_sampled(), blender::compositor::DistanceRGBMatteOperation::execute_pixel_sampled(), blender::compositor::DotproductOperation::execute_pixel_sampled(), blender::compositor::EllipseMaskOperation::execute_pixel_sampled(), blender::compositor::FlipOperation::execute_pixel_sampled(), blender::compositor::GammaCorrectOperation::execute_pixel_sampled(), blender::compositor::GammaUncorrectOperation::execute_pixel_sampled(), blender::compositor::GammaOperation::execute_pixel_sampled(), blender::compositor::GlareThresholdOperation::execute_pixel_sampled(), blender::compositor::HueSaturationValueCorrectOperation::execute_pixel_sampled(), blender::compositor::InvertOperation::execute_pixel_sampled(), blender::compositor::KeyingDespillOperation::execute_pixel_sampled(), blender::compositor::KeyingOperation::execute_pixel_sampled(), blender::compositor::LuminanceMatteOperation::execute_pixel_sampled(), blender::compositor::MapRangeOperation::execute_pixel_sampled(), blender::compositor::MapValueOperation::execute_pixel_sampled(), blender::compositor::MathAddOperation::execute_pixel_sampled(), blender::compositor::MathSubtractOperation::execute_pixel_sampled(), blender::compositor::MathMultiplyOperation::execute_pixel_sampled(), blender::compositor::MathDivideOperation::execute_pixel_sampled(), blender::compositor::MathSineOperation::execute_pixel_sampled(), blender::compositor::MathCosineOperation::execute_pixel_sampled(), blender::compositor::MathTangentOperation::execute_pixel_sampled(), blender::compositor::MathHyperbolicSineOperation::execute_pixel_sampled(), blender::compositor::MathHyperbolicCosineOperation::execute_pixel_sampled(), blender::compositor::MathHyperbolicTangentOperation::execute_pixel_sampled(), blender::compositor::MathArcSineOperation::execute_pixel_sampled(), blender::compositor::MathArcCosineOperation::execute_pixel_sampled(), blender::compositor::MathArcTangentOperation::execute_pixel_sampled(), blender::compositor::MathPowerOperation::execute_pixel_sampled(), blender::compositor::MathLogarithmOperation::execute_pixel_sampled(), blender::compositor::MathMinimumOperation::execute_pixel_sampled(), blender::compositor::MathMaximumOperation::execute_pixel_sampled(), blender::compositor::MathRoundOperation::execute_pixel_sampled(), blender::compositor::MathLessThanOperation::execute_pixel_sampled(), blender::compositor::MathGreaterThanOperation::execute_pixel_sampled(), blender::compositor::MathModuloOperation::execute_pixel_sampled(), blender::compositor::MathAbsoluteOperation::execute_pixel_sampled(), blender::compositor::MathRadiansOperation::execute_pixel_sampled(), blender::compositor::MathDegreesOperation::execute_pixel_sampled(), blender::compositor::MathArcTan2Operation::execute_pixel_sampled(), blender::compositor::MathFloorOperation::execute_pixel_sampled(), blender::compositor::MathCeilOperation::execute_pixel_sampled(), blender::compositor::MathFractOperation::execute_pixel_sampled(), blender::compositor::MathSqrtOperation::execute_pixel_sampled(), blender::compositor::MathInverseSqrtOperation::execute_pixel_sampled(), blender::compositor::MathSignOperation::execute_pixel_sampled(), blender::compositor::MathExponentOperation::execute_pixel_sampled(), blender::compositor::MathTruncOperation::execute_pixel_sampled(), blender::compositor::MathSnapOperation::execute_pixel_sampled(), blender::compositor::MathWrapOperation::execute_pixel_sampled(), blender::compositor::MathPingpongOperation::execute_pixel_sampled(), blender::compositor::MathCompareOperation::execute_pixel_sampled(), blender::compositor::MathMultiplyAddOperation::execute_pixel_sampled(), blender::compositor::MathSmoothMinOperation::execute_pixel_sampled(), blender::compositor::MathSmoothMaxOperation::execute_pixel_sampled(), blender::compositor::MixBaseOperation::execute_pixel_sampled(), blender::compositor::MixAddOperation::execute_pixel_sampled(), blender::compositor::MixBlendOperation::execute_pixel_sampled(), blender::compositor::MixColorBurnOperation::execute_pixel_sampled(), blender::compositor::MixColorOperation::execute_pixel_sampled(), blender::compositor::MixDarkenOperation::execute_pixel_sampled(), blender::compositor::MixDifferenceOperation::execute_pixel_sampled(), blender::compositor::MixDivideOperation::execute_pixel_sampled(), blender::compositor::MixDodgeOperation::execute_pixel_sampled(), blender::compositor::MixGlareOperation::execute_pixel_sampled(), blender::compositor::MixHueOperation::execute_pixel_sampled(), blender::compositor::MixLightenOperation::execute_pixel_sampled(), blender::compositor::MixLinearLightOperation::execute_pixel_sampled(), blender::compositor::MixMultiplyOperation::execute_pixel_sampled(), blender::compositor::MixOverlayOperation::execute_pixel_sampled(), blender::compositor::MixSaturationOperation::execute_pixel_sampled(), blender::compositor::MixScreenOperation::execute_pixel_sampled(), blender::compositor::MixSoftLightOperation::execute_pixel_sampled(), blender::compositor::MixSubtractOperation::execute_pixel_sampled(), blender::compositor::MixValueOperation::execute_pixel_sampled(), blender::compositor::MovieDistortionOperation::execute_pixel_sampled(), blender::compositor::PixelateOperation::execute_pixel_sampled(), blender::compositor::PosterizeOperation::execute_pixel_sampled(), blender::compositor::RotateOperation::execute_pixel_sampled(), blender::compositor::ScaleRelativeOperation::execute_pixel_sampled(), blender::compositor::ScaleAbsoluteOperation::execute_pixel_sampled(), blender::compositor::ScaleFixedSizeOperation::execute_pixel_sampled(), blender::compositor::SetAlphaMultiplyOperation::execute_pixel_sampled(), blender::compositor::SetAlphaReplaceOperation::execute_pixel_sampled(), blender::compositor::SetSamplerOperation::execute_pixel_sampled(), blender::compositor::SplitOperation::execute_pixel_sampled(), blender::compositor::TextureBaseOperation::execute_pixel_sampled(), blender::compositor::TranslateOperation::execute_pixel_sampled(), blender::compositor::VectorCurveOperation::execute_pixel_sampled(), blender::compositor::WriteBufferOperation::execute_pixel_sampled(), blender::compositor::ZCombineOperation::execute_pixel_sampled(), blender::compositor::ZCombineMaskOperation::execute_pixel_sampled(), blender::compositor::CompositorOperation::execute_region(), blender::compositor::PreviewOperation::execute_region(), blender::compositor::ViewerOperation::execute_region(), blender::compositor::WriteBufferOperation::execute_region(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::MapUVOperation::init_execution(), blender::compositor::ScreenLensDistortionOperation::initialize_tile_data(), blender::compositor::read_corners_from_sockets(), blender::compositor::ProjectorLensDistortionOperation::update_dispersion(), blender::compositor::BlurBaseOperation::update_size(), and blender::compositor::write_buffer_rect().

◆ render()

void blender::compositor::NodeOperation::render ( MemoryBuffer output_buf,
Span< rcti areas,
Span< MemoryBuffer * >  inputs_bufs 
)

Executes operation image manipulation algorithm rendering given areas.

Parameters
output_bufBuffer to write result to.
areasAreas within this operation bounds to render.
inputs_bufsInputs operations buffers.

Definition at line 280 of file COM_NodeOperation.cc.

References get_flags().

◆ set_bnodetree()

void blender::compositor::NodeOperation::set_bnodetree ( const bNodeTree tree)
inline

◆ set_canvas()

void blender::compositor::NodeOperation::set_canvas ( const rcti canvas_area)

◆ set_canvas_input_index()

void blender::compositor::NodeOperation::set_canvas_input_index ( unsigned int  index)

set the index of the input socket that will determine the canvas of this operation

Parameters
indexthe index to set

Definition at line 144 of file COM_NodeOperation.cc.

Referenced by blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorCurveOperation::ColorCurveOperation(), blender::compositor::CombineChannelsOperation::CombineChannelsOperation(), blender::compositor::ConstantLevelColorCurveOperation::ConstantLevelColorCurveOperation(), blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::CombineColorNodeLegacy::convert_to_operations(), blender::compositor::CombineXYZNode::convert_to_operations(), blender::compositor::GlareNode::convert_to_operations(), blender::compositor::MapUVNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::MathBaseOperation::determine_canvas(), blender::compositor::MixBaseOperation::determine_canvas(), blender::compositor::SplitOperation::determine_canvas(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::FlipOperation::FlipOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MovieDistortionOperation::MovieDistortionOperation(), blender::compositor::OutputOpenExrMultiLayerOperation::OutputOpenExrMultiLayerOperation(), blender::compositor::PixelateOperation::PixelateOperation(), blender::compositor::RotateOperation::RotateOperation(), blender::compositor::ScaleFixedSizeOperation::ScaleFixedSizeOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), and blender::compositor::TranslateOperation::TranslateOperation().

◆ set_complex()

void blender::compositor::NodeOperation::set_complex ( bool  complex)
inlineprotected

set whether this operation is complex

Complex operations are typically doing many reads to calculate the output of a single pixel. Mostly Filter types (Blurs, Convolution, Defocus etc) need this to be set to true.

Definition at line 712 of file COM_NodeOperation.h.

References blender::compositor::NodeOperationFlags::complex, and flags_.

◆ set_determined_canvas_modifier()

void blender::compositor::NodeOperation::set_determined_canvas_modifier ( std::function< void(rcti &canvas)>  fn)
inline

◆ set_execution_model()

void blender::compositor::NodeOperation::set_execution_model ( const eExecutionModel  model)
inline

◆ set_execution_system()

void blender::compositor::NodeOperation::set_execution_system ( ExecutionSystem system)
inline

◆ set_height()

void blender::compositor::NodeOperation::set_height ( unsigned int  height)
inlineprotected

◆ set_id()

void blender::compositor::NodeOperation::set_id ( const int  id)
inline

◆ set_name()

void blender::compositor::NodeOperation::set_name ( const std::string  name)
inline

◆ set_width()

void blender::compositor::NodeOperation::set_width ( unsigned int  width)
inlineprotected

◆ unlock_mutex()

void blender::compositor::NodeOperation::unlock_mutex ( )
protected

Definition at line 168 of file COM_NodeOperation.cc.

References BLI_mutex_unlock().

Referenced by blender::compositor::BufferOperation::initialize_tile_data(), blender::compositor::SingleThreadedOperation::initialize_tile_data(), blender::compositor::BokehBlurOperation::initialize_tile_data(), blender::compositor::CalculateMeanOperation::initialize_tile_data(), blender::compositor::CalculateStandardDeviationOperation::initialize_tile_data(), blender::compositor::DoubleEdgeMaskOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurOperation::initialize_tile_data(), blender::compositor::FastGaussianBlurValueOperation::initialize_tile_data(), blender::compositor::GaussianAlphaXBlurOperation::initialize_tile_data(), blender::compositor::GaussianAlphaYBlurOperation::initialize_tile_data(), blender::compositor::GaussianBokehBlurOperation::initialize_tile_data(), blender::compositor::GaussianXBlurOperation::initialize_tile_data(), blender::compositor::GaussianYBlurOperation::initialize_tile_data(), blender::compositor::InpaintSimpleOperation::initialize_tile_data(), blender::compositor::KeyingScreenOperation::initialize_tile_data(), blender::compositor::NormalizeOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinMaskOperation::initialize_tile_data(), blender::compositor::PlaneCornerPinWarpImageOperation::initialize_tile_data(), blender::compositor::ScreenLensDistortionOperation::initialize_tile_data(), blender::compositor::TonemapOperation::initialize_tile_data(), blender::compositor::VectorBlurOperation::initialize_tile_data(), and blender::compositor::ProjectorLensDistortionOperation::update_dispersion().

◆ unset_canvas()

void blender::compositor::NodeOperation::unset_canvas ( )

Mainly used for re-determining canvas of constant operations in cases where preferred canvas depends on the constant element.

Definition at line 194 of file COM_NodeOperation.cc.

References BLI_assert, flags_, and blender::compositor::NodeOperationFlags::is_canvas_set.

Referenced by blender::compositor::ScaleOperation::determine_canvas().

◆ update_draw()

void blender::compositor::NodeOperation::update_draw ( )
inline

Definition at line 561 of file COM_NodeOperation.h.

References bNodeTree::udh, and bNodeTree::update_draw.

◆ update_memory_buffer()

virtual void blender::compositor::NodeOperation::update_memory_buffer ( MemoryBuffer UNUSEDoutput,
const rcti UNUSEDarea,
Span< MemoryBuffer * >   UNUSEDinputs 
)
inlinevirtual

Executes operation updating output memory buffer. Single-threaded calls.

Definition at line 631 of file COM_NodeOperation.h.

Friends And Related Function Documentation

◆ DebugInfo

friend class DebugInfo
friend

Definition at line 790 of file COM_NodeOperation.h.

Member Data Documentation

◆ canvas_

rcti blender::compositor::NodeOperation::canvas_ = COM_AREA_NONE
protected

◆ exec_system_

ExecutionSystem* blender::compositor::NodeOperation::exec_system_
protected

◆ execution_model_

eExecutionModel blender::compositor::NodeOperation::execution_model_
protected

Compositor execution model.

Definition at line 340 of file COM_NodeOperation.h.

Referenced by blender::compositor::BlurBaseOperation::determine_canvas(), blender::compositor::BokehBlurOperation::determine_canvas(), blender::compositor::CompositorOperation::determine_canvas(), blender::compositor::FlipOperation::determine_canvas(), blender::compositor::PlaneCornerPinMaskOperation::determine_canvas(), blender::compositor::ProjectorLensDistortionOperation::determine_canvas(), blender::compositor::RotateOperation::determine_canvas(), blender::compositor::ScaleOperation::determine_canvas(), blender::compositor::ScaleFixedSizeOperation::determine_canvas(), blender::compositor::ScreenLensDistortionOperation::determine_canvas(), blender::compositor::TextureBaseOperation::determine_canvas(), blender::compositor::RotateOperation::ensure_degree(), blender::compositor::TranslateOperation::ensure_delta(), blender::compositor::BlurBaseOperation::init_data(), blender::compositor::BokehBlurOperation::init_data(), blender::compositor::GaussianAlphaBlurBaseOperation::init_data(), blender::compositor::GaussianBlurBaseOperation::init_data(), blender::compositor::GaussianBokehBlurOperation::init_data(), blender::compositor::PlaneCornerPinMaskOperation::init_data(), blender::compositor::PlaneCornerPinWarpImageOperation::init_data(), blender::compositor::PlaneTrackMaskOperation::init_data(), blender::compositor::PlaneTrackWarpImageOperation::init_data(), blender::compositor::ProjectorLensDistortionOperation::init_data(), blender::compositor::RotateOperation::init_data(), blender::compositor::ScreenLensDistortionOperation::init_data(), blender::compositor::DisplaceOperation::init_execution(), blender::compositor::GaussianAlphaBlurBaseOperation::init_execution(), blender::compositor::GaussianAlphaXBlurOperation::init_execution(), blender::compositor::GaussianAlphaYBlurOperation::init_execution(), blender::compositor::GaussianBlurBaseOperation::init_execution(), blender::compositor::GaussianXBlurOperation::init_execution(), blender::compositor::GaussianYBlurOperation::init_execution(), blender::compositor::KeyingScreenOperation::init_execution(), blender::compositor::MapUVOperation::init_execution(), blender::compositor::PlaneTrackMaskOperation::init_execution(), blender::compositor::PlaneTrackWarpImageOperation::init_execution(), blender::compositor::SMAABlendingWeightCalculationOperation::init_execution(), set_execution_model(), and blender::compositor::BlurBaseOperation::update_size().

◆ flags_

NodeOperationFlags blender::compositor::NodeOperation::flags_
protected

Flags how to evaluate this operation.

Definition at line 347 of file COM_NodeOperation.h.

Referenced by blender::compositor::AlphaOverKeyOperation::AlphaOverKeyOperation(), blender::compositor::AlphaOverMixedOperation::AlphaOverMixedOperation(), blender::compositor::AlphaOverPremultiplyOperation::AlphaOverPremultiplyOperation(), blender::compositor::AntiAliasOperation::AntiAliasOperation(), blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), blender::compositor::BufferOperation::BufferOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ConstantOperation::can_get_constant_elem(), blender::compositor::ChangeHSVOperation::ChangeHSVOperation(), blender::compositor::ChannelMatteOperation::ChannelMatteOperation(), blender::compositor::GaussianXBlurOperation::check_opencl(), blender::compositor::GaussianYBlurOperation::check_opencl(), blender::compositor::ChromaMatteOperation::ChromaMatteOperation(), blender::compositor::ColorBalanceASCCDLOperation::ColorBalanceASCCDLOperation(), blender::compositor::ColorBalanceLGGOperation::ColorBalanceLGGOperation(), blender::compositor::ColorCorrectionOperation::ColorCorrectionOperation(), blender::compositor::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::CompositorOperation::CompositorOperation(), blender::compositor::ConstantOperation::ConstantOperation(), blender::compositor::ConvertBaseOperation::ConvertBaseOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::CurveBaseOperation::CurveBaseOperation(), blender::compositor::DenoiseBaseOperation::DenoiseBaseOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::DoubleEdgeMaskOperation::DoubleEdgeMaskOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::FastGaussianBlurValueOperation::FastGaussianBlurValueOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), get_flags(), blender::compositor::GlareBaseOperation::GlareBaseOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InpaintSimpleOperation::InpaintSimpleOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::KeyingScreenOperation::KeyingScreenOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapUVOperation::MapUVOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), blender::compositor::MultiThreadedOperation::MultiThreadedOperation(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::PlaneCornerPinMaskOperation::PlaneCornerPinMaskOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::PreviewOperation::PreviewOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::ReadBufferOperation::ReadBufferOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), set_canvas(), set_complex(), set_height(), set_width(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), blender::compositor::SetColorOperation::SetColorOperation(), blender::compositor::SetValueOperation::SetValueOperation(), blender::compositor::SetVectorOperation::SetVectorOperation(), blender::compositor::SingleThreadedOperation::SingleThreadedOperation(), blender::compositor::SMAABlendingWeightCalculationOperation::SMAABlendingWeightCalculationOperation(), blender::compositor::SMAAEdgeDetectionOperation::SMAAEdgeDetectionOperation(), blender::compositor::SMAANeighborhoodBlendingOperation::SMAANeighborhoodBlendingOperation(), blender::compositor::SocketProxyOperation::SocketProxyOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureBaseOperation::TextureBaseOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::TrackPositionOperation::TrackPositionOperation(), unset_canvas(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), blender::compositor::VectorBlurOperation::VectorBlurOperation(), blender::compositor::ViewerOperation::ViewerOperation(), blender::compositor::WriteBufferOperation::WriteBufferOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().


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