Changeset View
Changeset View
Standalone View
Standalone View
source/blender/compositor/operations/COM_VectorBlurOperation.h
| Show All 20 Lines | |||||
| #include "COM_NodeOperation.h" | #include "COM_NodeOperation.h" | ||||
| #include "COM_QualityStepHelper.h" | #include "COM_QualityStepHelper.h" | ||||
| #include "DNA_node_types.h" | #include "DNA_node_types.h" | ||||
| namespace blender::compositor { | namespace blender::compositor { | ||||
| class VectorBlurOperation : public NodeOperation, public QualityStepHelper { | class VectorBlurOperation : public NodeOperation, public QualityStepHelper { | ||||
| private: | private: | ||||
| static constexpr int IMAGE_INPUT_INDEX = 0; | |||||
| static constexpr int Z_INPUT_INDEX = 1; | |||||
| static constexpr int SPEED_INPUT_INDEX = 2; | |||||
| /** | /** | ||||
| * \brief Cached reference to the inputProgram | * \brief Cached reference to the inputProgram | ||||
| */ | */ | ||||
| SocketReader *m_inputImageProgram; | SocketReader *m_inputImageProgram; | ||||
| SocketReader *m_inputSpeedProgram; | SocketReader *m_inputSpeedProgram; | ||||
| SocketReader *m_inputZProgram; | SocketReader *m_inputZProgram; | ||||
| /** | /** | ||||
| Show All 26 Lines | public: | ||||
| void setVectorBlurSettings(NodeBlurData *settings) | void setVectorBlurSettings(NodeBlurData *settings) | ||||
| { | { | ||||
| this->m_settings = settings; | this->m_settings = settings; | ||||
| } | } | ||||
| bool determineDependingAreaOfInterest(rcti *input, | bool determineDependingAreaOfInterest(rcti *input, | ||||
| ReadBufferOperation *readOperation, | ReadBufferOperation *readOperation, | ||||
| rcti *output) override; | rcti *output) override; | ||||
| void get_area_of_interest(const int input_idx, | |||||
| const rcti &output_area, | |||||
| rcti &r_input_area) override; | |||||
| void update_memory_buffer(MemoryBuffer *output, | |||||
| const rcti &area, | |||||
| Span<MemoryBuffer *> inputs) override; | |||||
| protected: | protected: | ||||
| void generateVectorBlur(float *data, | void generateVectorBlur(float *data, | ||||
| MemoryBuffer *inputImage, | MemoryBuffer *inputImage, | ||||
| MemoryBuffer *inputSpeed, | MemoryBuffer *inputSpeed, | ||||
| MemoryBuffer *inputZ); | MemoryBuffer *inputZ); | ||||
| }; | }; | ||||
| } // namespace blender::compositor | } // namespace blender::compositor | ||||