diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-07-04 14:01:45 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-07-04 14:01:45 +0400 |
commit | 33e12a298350d9aa684381a71a639864bf9bee3c (patch) | |
tree | 544c4634134527f205e9c16ef47e60683ae07aed /source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h | |
parent | 592196cb701f72780288a3606e5186fd42b6b850 (diff) |
Highlight nodes that are being processed
Diffstat (limited to 'source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h b/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h index 8e59a43fcb1..4bf597ff831 100644 --- a/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h +++ b/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.h @@ -25,6 +25,7 @@ #include "COM_NodeOperation.h" #include "COM_QualityStepHelper.h" + class VariableSizeBokehBlurOperation : public NodeOperation, public QualityStepHelper { private: int m_maxBlur; @@ -33,6 +34,9 @@ private: SocketReader *m_inputBokehProgram; SocketReader *m_inputSizeProgram; SocketReader *m_inputDepthProgram; +#ifdef COM_DEFOCUS_SEARCH + SocketReader *inputSearchProgram; +#endif public: VariableSizeBokehBlurOperation(); @@ -60,4 +64,42 @@ public: }; + +#ifdef COM_DEFOCUS_SEARCH +class InverseSearchRadiusOperation : public NodeOperation { +private: + int maxBlur; + float threshold; + SocketReader *inputDepth; + SocketReader *inputRadius; +public: + static const int DIVIDER = 4; + + InverseSearchRadiusOperation(); + + /** + * the inner loop of this program + */ + void executePixel(float *color, int x, int y, MemoryBuffer * inputBuffers[], void *data); + + /** + * Initialize the execution + */ + void initExecution(); + void* initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); + void deinitializeTileData(rcti *rect, MemoryBuffer **memoryBuffers, void *data); + + /** + * Deinitialize the execution + */ + void deinitExecution(); + + bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); + void determineResolution(unsigned int resolution[], unsigned int preferredResolution[]); + + void setMaxBlur(int maxRadius) { this->maxBlur = maxRadius; } + + void setThreshold(float threshold) { this->threshold = threshold; } +}; +#endif #endif |