|
Blender
V2.93
|
#include <COM_BlurBaseOperation.h>
Inherits blender::compositor::NodeOperation, and blender::compositor::QualityStepHelper.
Inherited by blender::compositor::FastGaussianBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianXBlurOperation, and blender::compositor::GaussianYBlurOperation.
Public Member Functions | |
| void | initExecution () override |
| void | deinitExecution () override |
| void | setData (const NodeBlurData *data) |
| void | setSize (float size) |
| void | setExtendBounds (bool extend_bounds) |
| void | determineResolution (unsigned int resolution[2], unsigned int preferredResolution[2]) override |
| determine the resolution of this node More... | |
Public Member Functions inherited from blender::compositor::NodeOperation | |
| virtual | ~NodeOperation () |
| void | set_name (const std::string name) |
| const std::string | get_name () const |
| void | set_id (const int id) |
| const int | get_id () const |
| const NodeOperationFlags | get_flags () const |
| unsigned int | getNumberOfInputSockets () const |
| unsigned int | getNumberOfOutputSockets () const |
| NodeOperationOutput * | getOutputSocket (unsigned int index=0) |
| NodeOperationInput * | getInputSocket (unsigned int index) |
| virtual bool | isOutputOperation (bool) const |
| isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing. More... | |
| void | setbNodeTree (const bNodeTree *tree) |
| virtual void | executeRegion (rcti *, unsigned int) |
| when a chunk is executed by a CPUDevice, this method is called More... | |
| virtual void | executeOpenCLRegion (OpenCLDevice *, rcti *, unsigned int, MemoryBuffer **, MemoryBuffer *) |
| when a chunk is executed by an OpenCLDevice, this method is called More... | |
| virtual void | executeOpenCL (OpenCLDevice *, MemoryBuffer *, cl_mem, MemoryBuffer **, std::list< cl_mem > *, std::list< cl_kernel > *) |
| custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More... | |
| void | setResolution (unsigned int resolution[2]) |
| set the resolution More... | |
| virtual bool | isActiveViewerOutput () 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 | determineDependingAreaOfInterest (rcti *input, ReadBufferOperation *readOperation, rcti *output) |
| void | setResolutionInputSocketIndex (unsigned int index) |
| set the index of the input socket that will determine the resolution of this operation More... | |
| virtual eCompositorPriority | getRenderPriority () const |
| get the render priority of this node. More... | |
| bool | isBraked () const |
| void | updateDraw () |
| unsigned int | getWidth () const |
| unsigned int | getHeight () const |
| void | readSampled (float result[4], float x, float y, PixelSampler sampler) |
| void | readFiltered (float result[4], float x, float y, float dx[2], float dy[2]) |
| void | read (float result[4], int x, int y, void *chunkData) |
| virtual void * | initializeTileData (rcti *) |
| virtual void | deinitializeTileData (rcti *, void *) |
| virtual MemoryBuffer * | getInputMemoryBuffer (MemoryBuffer **) |
| virtual std::unique_ptr< MetaData > | getMetaData () |
Public Member Functions inherited from blender::compositor::QualityStepHelper | |
| QualityStepHelper () | |
| void | setQuality (eCompositorQuality quality) |
Protected Member Functions | |
| BlurBaseOperation (DataType data_type) | |
| float * | make_gausstab (float rad, int size) |
| float * | make_dist_fac_inverse (float rad, int size, int falloff) |
| void | updateSize () |
Protected Member Functions inherited from blender::compositor::NodeOperation | |
| NodeOperation () | |
| void | addInputSocket (DataType datatype, ResizeMode resize_mode=ResizeMode::Center) |
| void | addOutputSocket (DataType datatype) |
| void | setWidth (unsigned int width) |
| void | setHeight (unsigned int height) |
| SocketReader * | getInputSocketReader (unsigned int inputSocketindex) |
| NodeOperation * | getInputOperation (unsigned int inputSocketindex) |
| void | deinitMutex () |
| void | initMutex () |
| void | lockMutex () |
| void | unlockMutex () |
| void | setComplex (bool complex) |
| set whether this operation is complex More... | |
| virtual void | executePixelSampled (float[4], float, float, PixelSampler) |
| calculate a single pixel More... | |
| virtual void | executePixel (float output[4], int x, int y, void *) |
| calculate a single pixel More... | |
| virtual void | executePixelFiltered (float[4], float, float, float[2], float[2]) |
| calculate a single pixel using an EWA filter More... | |
Protected Member Functions inherited from blender::compositor::QualityStepHelper | |
| void | initExecution (QualityHelper helper) |
| int | getStep () const |
| int | getOffsetAdd () const |
Protected Attributes | |
| SocketReader * | m_inputProgram |
| SocketReader * | m_inputSize |
| NodeBlurData | m_data |
| float | m_size |
| bool | m_sizeavailable |
| bool | m_extend_bounds |
Protected Attributes inherited from blender::compositor::NodeOperation | |
| unsigned int | m_width |
| unsigned int | m_height |
| NodeOperationFlags | flags |
Definition at line 30 of file COM_BlurBaseOperation.h.
|
protected |
Definition at line 27 of file COM_BlurBaseOperation.cc.
References blender::compositor::NodeOperation::addInputSocket(), blender::compositor::NodeOperation::addOutputSocket(), blender::compositor::NodeOperationFlags::complex, blender::compositor::NodeOperation::flags, m_data, m_extend_bounds, m_inputProgram, m_size, m_sizeavailable, and blender::compositor::Value.
|
overridevirtual |
Deinitialize the execution
Reimplemented from blender::compositor::NodeOperation.
Reimplemented in blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, and blender::compositor::FastGaussianBlurOperation.
Definition at line 157 of file COM_BlurBaseOperation.cc.
References m_inputProgram, and m_inputSize.
Referenced by blender::compositor::GaussianAlphaXBlurOperation::deinitExecution(), blender::compositor::GaussianAlphaYBlurOperation::deinitExecution(), blender::compositor::GaussianBokehBlurOperation::deinitExecution(), blender::compositor::GaussianBlurReferenceOperation::deinitExecution(), blender::compositor::GaussianXBlurOperation::deinitExecution(), and blender::compositor::GaussianYBlurOperation::deinitExecution().
|
overridevirtual |
determine the resolution of this node
| resolution | the result of this operation |
| preferredResolution | the preferable resolution as no resolution could be determined |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 178 of file COM_BlurBaseOperation.cc.
References blender::compositor::NodeOperation::determineResolution(), m_data, m_extend_bounds, m_size, NodeBlurData::sizex, and NodeBlurData::sizey.
|
overridevirtual |
Initialize the execution
Reimplemented from blender::compositor::NodeOperation.
Reimplemented in blender::compositor::GaussianYBlurOperation, blender::compositor::GaussianXBlurOperation, blender::compositor::GaussianBlurReferenceOperation, blender::compositor::GaussianBokehBlurOperation, blender::compositor::GaussianAlphaYBlurOperation, blender::compositor::GaussianAlphaXBlurOperation, and blender::compositor::FastGaussianBlurOperation.
Definition at line 40 of file COM_BlurBaseOperation.cc.
References NodeBlurData::aspect, BLI_assert, CMP_NODE_BLUR_ASPECT_NONE, CMP_NODE_BLUR_ASPECT_X, CMP_NODE_BLUR_ASPECT_Y, blender::compositor::COM_QH_MULTIPLY, blender::compositor::NodeOperation::getHeight(), blender::compositor::NodeOperation::getInputSocketReader(), blender::compositor::NodeOperation::getWidth(), NodeBlurData::image_in_height, NodeBlurData::image_in_width, blender::compositor::QualityStepHelper::initExecution(), m_data, m_inputProgram, m_inputSize, NodeBlurData::percentx, NodeBlurData::percenty, NodeBlurData::relative, round_fl_to_int(), NodeBlurData::sizex, and NodeBlurData::sizey.
Referenced by blender::compositor::FastGaussianBlurOperation::initExecution(), blender::compositor::GaussianBokehBlurOperation::initExecution(), blender::compositor::GaussianBlurReferenceOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), and blender::compositor::GaussianYBlurOperation::initExecution().
|
protected |
Definition at line 107 of file COM_BlurBaseOperation.cc.
References BLI_assert, fabsf, MEM_mallocN, PROP_INVSQUARE, PROP_LIN, PROP_ROOT, PROP_SHARP, PROP_SMOOTH, PROP_SPHERE, size(), and sqrtf.
Referenced by blender::compositor::GaussianAlphaXBlurOperation::initExecution(), and blender::compositor::GaussianAlphaYBlurOperation::initExecution().
Definition at line 68 of file COM_BlurBaseOperation.cc.
References NodeBlurData::filtertype, m_data, MEM_mallocN, RE_filter_value(), size(), and sum().
Referenced by blender::compositor::GaussianAlphaXBlurOperation::initExecution(), blender::compositor::GaussianAlphaYBlurOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), and blender::compositor::GaussianYBlurOperation::initExecution().
| void blender::compositor::BlurBaseOperation::setData | ( | const NodeBlurData * | data | ) |
Definition at line 163 of file COM_BlurBaseOperation.cc.
Referenced by blender::compositor::BlurNode::convertToOperations(), blender::compositor::DilateErodeNode::convertToOperations(), and blender::compositor::KeyingNode::setupFeather().
|
inline |
Definition at line 73 of file COM_BlurBaseOperation.h.
Referenced by blender::compositor::BlurNode::convertToOperations().
|
inline |
Definition at line 67 of file COM_BlurBaseOperation.h.
References size().
Referenced by blender::compositor::BlurNode::convertToOperations(), blender::compositor::DilateErodeNode::convertToOperations(), and blender::compositor::KeyingNode::setupFeather().
|
protected |
Definition at line 168 of file COM_BlurBaseOperation.cc.
References blender::compositor::NodeOperation::getInputSocketReader(), m_size, m_sizeavailable, blender::compositor::Nearest, blender::compositor::NodeOperation::readSampled(), and result.
Referenced by blender::compositor::FastGaussianBlurOperation::initializeTileData().
|
protected |
Definition at line 47 of file COM_BlurBaseOperation.h.
Referenced by BlurBaseOperation(), blender::compositor::GaussianXBlurOperation::checkOpenCL(), blender::compositor::GaussianYBlurOperation::checkOpenCL(), blender::compositor::GaussianBlurReferenceOperation::determineDependingAreaOfInterest(), determineResolution(), initExecution(), blender::compositor::GaussianAlphaXBlurOperation::initExecution(), blender::compositor::GaussianAlphaYBlurOperation::initExecution(), blender::compositor::GaussianBlurReferenceOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), blender::compositor::GaussianYBlurOperation::initExecution(), blender::compositor::FastGaussianBlurOperation::initializeTileData(), make_gausstab(), and setData().
|
protected |
Definition at line 52 of file COM_BlurBaseOperation.h.
Referenced by BlurBaseOperation(), and determineResolution().
|
protected |
Cached reference to the inputProgram
Definition at line 45 of file COM_BlurBaseOperation.h.
Referenced by BlurBaseOperation(), deinitExecution(), blender::compositor::GaussianXBlurOperation::executeOpenCL(), blender::compositor::GaussianYBlurOperation::executeOpenCL(), initExecution(), and blender::compositor::FastGaussianBlurOperation::initializeTileData().
|
protected |
Definition at line 46 of file COM_BlurBaseOperation.h.
Referenced by deinitExecution(), blender::compositor::GaussianBlurReferenceOperation::executePixel(), and initExecution().
|
protected |
Definition at line 49 of file COM_BlurBaseOperation.h.
Referenced by BlurBaseOperation(), determineResolution(), blender::compositor::GaussianAlphaXBlurOperation::initExecution(), blender::compositor::GaussianAlphaYBlurOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), blender::compositor::GaussianYBlurOperation::initExecution(), blender::compositor::FastGaussianBlurOperation::initializeTileData(), and updateSize().
|
protected |
Definition at line 50 of file COM_BlurBaseOperation.h.
Referenced by BlurBaseOperation(), blender::compositor::GaussianAlphaXBlurOperation::determineDependingAreaOfInterest(), blender::compositor::GaussianAlphaYBlurOperation::determineDependingAreaOfInterest(), blender::compositor::GaussianBokehBlurOperation::determineDependingAreaOfInterest(), blender::compositor::GaussianXBlurOperation::determineDependingAreaOfInterest(), blender::compositor::GaussianYBlurOperation::determineDependingAreaOfInterest(), blender::compositor::GaussianAlphaXBlurOperation::initExecution(), blender::compositor::GaussianAlphaYBlurOperation::initExecution(), blender::compositor::GaussianBokehBlurOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), blender::compositor::GaussianYBlurOperation::initExecution(), blender::compositor::GaussianAlphaXBlurOperation::initializeTileData(), blender::compositor::GaussianAlphaYBlurOperation::initializeTileData(), blender::compositor::GaussianBokehBlurOperation::initializeTileData(), blender::compositor::GaussianXBlurOperation::initializeTileData(), blender::compositor::GaussianYBlurOperation::initializeTileData(), and updateSize().