diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/compositor/operations/COM_GaussianBokehBlurOperation.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.h b/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.h index 54dc8caed53..ea3da65cbd9 100644 --- a/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.h +++ b/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.h @@ -48,4 +48,38 @@ public: bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); }; + +class GaussianBokehBlurReferenceOperation : public NodeOperation, public QualityStepHelper { +private: + SocketReader * m_inputImage; + SocketReader * m_inputSize; + float *m_gausstab; + NodeBlurData *m_data; + + void updateGauss(); + + static const int radxf = 256.0f; + static const int radyf = 256.0f; + static const int radx = 256; + static const int rady = 256; + +public: + GaussianBokehBlurReferenceOperation(); + void initExecution(); + void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); + /** + * the inner loop of this program + */ + void executePixel(float *color, int x, int y, MemoryBuffer * inputBuffers[], void *data); + + /** + * Deinitialize the execution + */ + void deinitExecution(); + + bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); + + void setData(NodeBlurData *data) { this->m_data = data; } +}; + #endif |