diff options
Diffstat (limited to 'source/blender/compositor/operations/COM_ZCombineOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_ZCombineOperation.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_ZCombineOperation.h b/source/blender/compositor/operations/COM_ZCombineOperation.h index d0b1aee7310..acd60b6c866 100644 --- a/source/blender/compositor/operations/COM_ZCombineOperation.h +++ b/source/blender/compositor/operations/COM_ZCombineOperation.h @@ -26,7 +26,7 @@ namespace blender::compositor { * this program converts an input color to an output value. * it assumes we are in sRGB color space. */ -class ZCombineOperation : public NodeOperation { +class ZCombineOperation : public MultiThreadedOperation { protected: SocketReader *m_image1Reader; SocketReader *m_depth1Reader; @@ -46,13 +46,21 @@ class ZCombineOperation : public NodeOperation { * The inner loop of this operation. */ void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; class ZCombineAlphaOperation : public ZCombineOperation { void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; -class ZCombineMaskOperation : public NodeOperation { +class ZCombineMaskOperation : public MultiThreadedOperation { protected: SocketReader *m_maskReader; SocketReader *m_image1Reader; @@ -64,9 +72,17 @@ class ZCombineMaskOperation : public NodeOperation { void initExecution() override; void deinitExecution() override; void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; class ZCombineMaskAlphaOperation : public ZCombineMaskOperation { void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; } // namespace blender::compositor |