Blender  V2.93
Public Member Functions | List of all members
blender::compositor::BokehBlurOperation Class Reference

#include <COM_BokehBlurOperation.h>

Inherits blender::compositor::NodeOperation, and blender::compositor::QualityStepHelper.

Public Member Functions

 BokehBlurOperation ()
 
void * initializeTileData (rcti *rect) override
 
void executePixel (float output[4], int x, int y, void *data) override
 
void initExecution () override
 
void deinitExecution () override
 
bool determineDependingAreaOfInterest (rcti *input, ReadBufferOperation *readOperation, rcti *output) override
 
void setSize (float size)
 
void executeOpenCL (OpenCLDevice *device, MemoryBuffer *outputMemoryBuffer, cl_mem clOutputBuffer, MemoryBuffer **inputMemoryBuffers, std::list< cl_mem > *clMemToCleanUp, std::list< cl_kernel > *clKernelsToCleanUp) override
 custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More...
 
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
 
NodeOperationOutputgetOutputSocket (unsigned int index=0)
 
NodeOperationInputgetInputSocket (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...
 
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...
 
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 deinitializeTileData (rcti *, void *)
 
virtual MemoryBuffergetInputMemoryBuffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDatagetMetaData ()
 
- Public Member Functions inherited from blender::compositor::QualityStepHelper
 QualityStepHelper ()
 
void setQuality (eCompositorQuality quality)
 

Additional Inherited Members

- 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)
 
SocketReadergetInputSocketReader (unsigned int inputSocketindex)
 
NodeOperationgetInputOperation (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 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 inherited from blender::compositor::NodeOperation
unsigned int m_width
 
unsigned int m_height
 
NodeOperationFlags flags
 

Detailed Description

Definition at line 26 of file COM_BokehBlurOperation.h.

Constructor & Destructor Documentation

◆ BokehBlurOperation()

blender::compositor::BokehBlurOperation::BokehBlurOperation ( )

Member Function Documentation

◆ deinitExecution()

void blender::compositor::BokehBlurOperation::deinitExecution ( )
overridevirtual

Deinitialize the execution

Reimplemented from blender::compositor::NodeOperation.

Definition at line 137 of file COM_BokehBlurOperation.cc.

References blender::compositor::NodeOperation::deinitMutex().

◆ determineDependingAreaOfInterest()

bool blender::compositor::BokehBlurOperation::determineDependingAreaOfInterest ( rcti input,
ReadBufferOperation readOperation,
rcti output 
)
overridevirtual

◆ determineResolution()

void blender::compositor::BokehBlurOperation::determineResolution ( unsigned int  resolution[2],
unsigned int  preferredResolution[2] 
)
overridevirtual

determine the resolution of this node

Note
this method will not set the resolution, this is the responsibility of the caller
Parameters
resolutionthe result of this operation
preferredResolutionthe preferable resolution as no resolution could be determined

Reimplemented from blender::compositor::NodeOperation.

Definition at line 237 of file COM_BokehBlurOperation.cc.

References blender::compositor::NodeOperation::determineResolution(), and MAX2.

◆ executeOpenCL()

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

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

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

Reimplemented from blender::compositor::NodeOperation.

Definition at line 196 of file COM_BokehBlurOperation.cc.

References blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferOffsetToKernelParameter(), blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferToKernelParameter(), blender::compositor::OpenCLDevice::COM_clAttachOutputMemoryBufferToKernelParameter(), blender::compositor::OpenCLDevice::COM_clAttachSizeToKernelParameter(), blender::compositor::OpenCLDevice::COM_clCreateKernel(), blender::compositor::OpenCLDevice::COM_clEnqueueRange(), blender::compositor::NodeOperation::getHeight(), blender::compositor::QualityStepHelper::getStep(), blender::compositor::NodeOperation::getWidth(), and MAX2.

◆ executePixel()

void blender::compositor::BokehBlurOperation::executePixel ( float  output[4],
int  x,
int  y,
void *  data 
)
overridevirtual

◆ initExecution()

void blender::compositor::BokehBlurOperation::initExecution ( )
overridevirtual

◆ initializeTileData()

void * blender::compositor::BokehBlurOperation::initializeTileData ( rcti rect)
overridevirtual

◆ setExtendBounds()

void blender::compositor::BokehBlurOperation::setExtendBounds ( bool  extend_bounds)
inline

◆ setSize()

void blender::compositor::BokehBlurOperation::setSize ( float  size)
inline

Definition at line 62 of file COM_BokehBlurOperation.h.

References size().

Referenced by blender::compositor::BokehBlurNode::convertToOperations().


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