diff options
Diffstat (limited to 'source/blender/compositor/operations/COM_BokehBlurOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_BokehBlurOperation.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_BokehBlurOperation.h b/source/blender/compositor/operations/COM_BokehBlurOperation.h index 3ce06adb5d6..59c14305393 100644 --- a/source/blender/compositor/operations/COM_BokehBlurOperation.h +++ b/source/blender/compositor/operations/COM_BokehBlurOperation.h @@ -18,12 +18,12 @@ #pragma once -#include "COM_NodeOperation.h" +#include "COM_MultiThreadedOperation.h" #include "COM_QualityStepHelper.h" namespace blender::compositor { -class BokehBlurOperation : public NodeOperation, public QualityStepHelper { +class BokehBlurOperation : public MultiThreadedOperation, public QualityStepHelper { private: SocketReader *m_inputProgram; SocketReader *m_inputBokehProgram; @@ -31,6 +31,7 @@ class BokehBlurOperation : public NodeOperation, public QualityStepHelper { void updateSize(); float m_size; bool m_sizeavailable; + float m_bokehMidX; float m_bokehMidY; float m_bokehDimension; @@ -39,6 +40,8 @@ class BokehBlurOperation : public NodeOperation, public QualityStepHelper { public: BokehBlurOperation(); + void init_data() override; + void *initializeTileData(rcti *rect) override; /** * The inner loop of this operation. @@ -79,6 +82,11 @@ class BokehBlurOperation : public NodeOperation, public QualityStepHelper { void determineResolution(unsigned int resolution[2], unsigned int preferredResolution[2]) override; + + void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override; + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; } // namespace blender::compositor |