diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2013-02-17 01:21:04 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2013-02-17 01:21:04 +0400 |
commit | 772a3b1e1e536e88ca141b404eacc1fbecb73bbf (patch) | |
tree | 5c62b40488451f6b0b48c38313061e5ca78fca68 /source/blender/compositor/operations | |
parent | 9cd01c6a5c68543ed40bfe33d5faa564006b0717 (diff) |
Fix for [#34182] Movie Distortion and Bilateral Blur doesn't work together
* added area of interest based on a radius around the input tile.
If someone can implement a correct formula (based on K1, K2 and K3) and send it to me, I will be happy to apply it!
- At Mind -
Diffstat (limited to 'source/blender/compositor/operations')
-rw-r--r-- | source/blender/compositor/operations/COM_MovieDistortionOperation.cpp | 13 | ||||
-rw-r--r-- | source/blender/compositor/operations/COM_MovieDistortionOperation.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp index 68a61dff801..cf379d91652 100644 --- a/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp +++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.cpp @@ -112,3 +112,16 @@ void MovieDistortionOperation::executePixel(float output[4], float x, float y, P this->m_inputOperation->read(output, x, y, COM_PS_BILINEAR); } } + +bool MovieDistortionOperation::determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) +{ + const int marginX = this->m_width*0.15; + const int marginY = this->m_height*0.15; + + rcti newInput; + newInput.xmin = input->xmin - marginX; + newInput.ymin = input->ymin - marginY; + newInput.xmax = input->xmax + marginX; + newInput.ymax = input->ymax + marginY; + return NodeOperation::determineDependingAreaOfInterest(&newInput, readOperation, output); +} diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.h b/source/blender/compositor/operations/COM_MovieDistortionOperation.h index 9f8aa065e3e..4596fbd555b 100644 --- a/source/blender/compositor/operations/COM_MovieDistortionOperation.h +++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.h @@ -162,6 +162,8 @@ public: void setMovieClip(MovieClip *clip) { this->m_movieClip = clip; } void setFramenumber(int framenumber) { this->m_framenumber = framenumber; } + bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); + }; void deintializeDistortionCache(void); |