diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-04-14 12:20:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-04-14 12:20:00 +0300 |
commit | 78c3a5d00f77c109f07d100feb5bf3307a46f839 (patch) | |
tree | 6ed271053cf1f8f1e77266d17ba233586eb99426 /source/blender/compositor/operations/COM_ImageOperation.cpp | |
parent | 8ed746683a312057c1c3e469ab41d7b1f017d257 (diff) |
Compositor: Fix image and render layer always extending edges
It was no more possible to translate two images, put one on top of
another in order to do things like mapping VR views.
Diffstat (limited to 'source/blender/compositor/operations/COM_ImageOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_ImageOperation.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/compositor/operations/COM_ImageOperation.cpp b/source/blender/compositor/operations/COM_ImageOperation.cpp index c55366ab370..624378f2ae9 100644 --- a/source/blender/compositor/operations/COM_ImageOperation.cpp +++ b/source/blender/compositor/operations/COM_ImageOperation.cpp @@ -159,7 +159,11 @@ static void sampleImageAtLocation(ImBuf *ibuf, float x, float y, PixelSampler sa void ImageOperation::executePixelSampled(float output[4], float x, float y, PixelSampler sampler) { - if (this->m_imageFloatBuffer == NULL && this->m_imageByteBuffer == NULL) { + int ix = x, iy = y; + if (ix < 0 || iy < 0 || ix >= this->m_buffer->x || iy >= this->m_buffer->y) { + zero_v4(output); + } + else if (this->m_imageFloatBuffer == NULL && this->m_imageByteBuffer == NULL) { zero_v4(output); } else { |