Blender  V3.3
Public Member Functions | Public Attributes | List of all members
blender::compositor::NodeOperationFlags Struct Reference

#include <COM_NodeOperation.h>

Public Member Functions

 NodeOperationFlags ()
 

Public Attributes

bool complex: 1
 
bool open_cl: 1
 
bool single_threaded: 1
 
bool use_render_border: 1
 
bool use_viewer_border: 1
 
bool is_canvas_set: 1
 
bool is_set_operation: 1
 
bool is_write_buffer_operation: 1
 
bool is_read_buffer_operation: 1
 
bool is_proxy_operation: 1
 
bool is_viewer_operation: 1
 
bool is_preview_operation: 1
 
bool use_datatype_conversion: 1
 
bool is_fullframe_operation: 1
 
bool is_constant_operation: 1
 
bool can_be_constant: 1
 

Detailed Description

Definition at line 160 of file COM_NodeOperation.h.

Constructor & Destructor Documentation

◆ NodeOperationFlags()

blender::compositor::NodeOperationFlags::NodeOperationFlags ( )
inline

Member Data Documentation

◆ can_be_constant

bool blender::compositor::NodeOperationFlags::can_be_constant

Whether operation have constant elements/pixels values when all its inputs are constant operations.

Definition at line 238 of file COM_NodeOperation.h.

Referenced by blender::compositor::AlphaOverKeyOperation::AlphaOverKeyOperation(), blender::compositor::AlphaOverMixedOperation::AlphaOverMixedOperation(), blender::compositor::AlphaOverPremultiplyOperation::AlphaOverPremultiplyOperation(), blender::compositor::BrightnessOperation::BrightnessOperation(), 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::ColorMatteOperation::ColorMatteOperation(), blender::compositor::ColorRampOperation::ColorRampOperation(), blender::compositor::ColorSpillOperation::ColorSpillOperation(), blender::compositor::ConvertBaseOperation::ConvertBaseOperation(), blender::compositor::CurveBaseOperation::CurveBaseOperation(), blender::compositor::DifferenceMatteOperation::DifferenceMatteOperation(), blender::compositor::DistanceRGBMatteOperation::DistanceRGBMatteOperation(), blender::compositor::DotproductOperation::DotproductOperation(), blender::compositor::ExposureOperation::ExposureOperation(), blender::compositor::GammaCorrectOperation::GammaCorrectOperation(), blender::compositor::GammaOperation::GammaOperation(), blender::compositor::GammaUncorrectOperation::GammaUncorrectOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InvertOperation::InvertOperation(), blender::compositor::is_constant_foldable(), blender::compositor::KeyingDespillOperation::KeyingDespillOperation(), blender::compositor::LuminanceMatteOperation::LuminanceMatteOperation(), blender::compositor::MapRangeOperation::MapRangeOperation(), blender::compositor::MapValueOperation::MapValueOperation(), blender::compositor::MathBaseOperation::MathBaseOperation(), blender::compositor::MixBaseOperation::MixBaseOperation(), NodeOperationFlags(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::operator<<(), blender::compositor::PosterizeOperation::PosterizeOperation(), blender::compositor::SetAlphaMultiplyOperation::SetAlphaMultiplyOperation(), blender::compositor::SetAlphaReplaceOperation::SetAlphaReplaceOperation(), and blender::compositor::ZCombineOperation::ZCombineOperation().

◆ complex

bool blender::compositor::NodeOperationFlags::complex

Is this an complex operation.

The input and output buffers of Complex operations are stored in buffers. It allows sequential and read/write.

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 170 of file COM_NodeOperation.h.

Referenced by blender::compositor::ExecutionGroup::add_operation(), blender::compositor::AntiAliasOperation::AntiAliasOperation(), blender::compositor::BilateralBlurOperation::BilateralBlurOperation(), blender::compositor::BlurBaseOperation::BlurBaseOperation(), blender::compositor::BokehBlurOperation::BokehBlurOperation(), blender::compositor::CalculateMeanOperation::CalculateMeanOperation(), blender::compositor::ConvolutionFilterOperation::ConvolutionFilterOperation(), blender::compositor::CryptomatteOperation::CryptomatteOperation(), blender::compositor::DespeckleOperation::DespeckleOperation(), blender::compositor::DilateDistanceOperation::DilateDistanceOperation(), blender::compositor::DilateErodeThresholdOperation::DilateErodeThresholdOperation(), blender::compositor::DilateStepOperation::DilateStepOperation(), blender::compositor::DirectionalBlurOperation::DirectionalBlurOperation(), blender::compositor::DisplaceOperation::DisplaceOperation(), blender::compositor::DoubleEdgeMaskOperation::DoubleEdgeMaskOperation(), blender::compositor::WriteBufferOperation::execute_region(), blender::compositor::FastGaussianBlurValueOperation::FastGaussianBlurValueOperation(), blender::compositor::IDMaskOperation::IDMaskOperation(), blender::compositor::InpaintSimpleOperation::InpaintSimpleOperation(), blender::compositor::KeyingBlurOperation::KeyingBlurOperation(), blender::compositor::KeyingClipOperation::KeyingClipOperation(), blender::compositor::KeyingScreenOperation::KeyingScreenOperation(), blender::compositor::MapUVOperation::MapUVOperation(), NodeOperationFlags(), blender::compositor::NormalizeOperation::NormalizeOperation(), blender::compositor::operator<<(), blender::compositor::PlaneCornerPinMaskOperation::PlaneCornerPinMaskOperation(), blender::compositor::PlaneDistortWarpImageOperation::PlaneDistortWarpImageOperation(), blender::compositor::ProjectorLensDistortionOperation::ProjectorLensDistortionOperation(), blender::compositor::ScreenLensDistortionOperation::ScreenLensDistortionOperation(), blender::compositor::NodeOperation::set_complex(), blender::compositor::SingleThreadedOperation::SingleThreadedOperation(), blender::compositor::SMAABlendingWeightCalculationOperation::SMAABlendingWeightCalculationOperation(), blender::compositor::SMAAEdgeDetectionOperation::SMAAEdgeDetectionOperation(), blender::compositor::SMAANeighborhoodBlendingOperation::SMAANeighborhoodBlendingOperation(), blender::compositor::SunBeamsOperation::SunBeamsOperation(), blender::compositor::TextureBaseOperation::TextureBaseOperation(), blender::compositor::TonemapOperation::TonemapOperation(), blender::compositor::VariableSizeBokehBlurOperation::VariableSizeBokehBlurOperation(), and blender::compositor::VectorBlurOperation::VectorBlurOperation().

◆ is_canvas_set

bool blender::compositor::NodeOperationFlags::is_canvas_set

◆ is_constant_operation

bool blender::compositor::NodeOperationFlags::is_constant_operation

◆ is_fullframe_operation

bool blender::compositor::NodeOperationFlags::is_fullframe_operation

◆ is_preview_operation

bool blender::compositor::NodeOperationFlags::is_preview_operation

◆ is_proxy_operation

bool blender::compositor::NodeOperationFlags::is_proxy_operation

◆ is_read_buffer_operation

bool blender::compositor::NodeOperationFlags::is_read_buffer_operation

◆ is_set_operation

bool blender::compositor::NodeOperationFlags::is_set_operation

◆ is_viewer_operation

bool blender::compositor::NodeOperationFlags::is_viewer_operation

◆ is_write_buffer_operation

bool blender::compositor::NodeOperationFlags::is_write_buffer_operation

◆ open_cl

bool blender::compositor::NodeOperationFlags::open_cl

◆ single_threaded

bool blender::compositor::NodeOperationFlags::single_threaded

TODO: Remove this flag and #SingleThreadedOperation if tiled implementation is removed. Full-frame implementation doesn't need it.

Definition at line 181 of file COM_NodeOperation.h.

Referenced by blender::compositor::ExecutionGroup::add_operation(), NodeOperationFlags(), blender::compositor::operator<<(), and blender::compositor::SingleThreadedOperation::SingleThreadedOperation().

◆ use_datatype_conversion

bool blender::compositor::NodeOperationFlags::use_datatype_conversion

When set additional data conversion operations are added to convert the data. SocketProxyOperation don't always need to do data conversions.

By default data conversions are enabled.

Definition at line 222 of file COM_NodeOperation.h.

Referenced by blender::compositor::NodeOperationBuilder::add_datatype_conversions(), NodeOperationFlags(), blender::compositor::operator<<(), and blender::compositor::SocketProxyOperation::SocketProxyOperation().

◆ use_render_border

bool blender::compositor::NodeOperationFlags::use_render_border

Does the operation needs a viewer border. Basically, setting border need to happen for only operations which operates in render resolution buffers (like compositor output nodes).

In this cases adding border will lead to mapping coordinates from output buffer space to input buffer spaces when executing operation.

But nodes like viewer and file output just shall display or safe the same exact buffer which goes to their input, no need in any kind of coordinates mapping.

Definition at line 197 of file COM_NodeOperation.h.

Referenced by blender::compositor::CompositorOperation::CompositorOperation(), NodeOperationFlags(), blender::compositor::operator<<(), and blender::compositor::ExecutionGroup::set_render_border().

◆ use_viewer_border

bool blender::compositor::NodeOperationFlags::use_viewer_border

The documentation for this struct was generated from the following file: