diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-03-09 10:45:01 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-03-09 10:48:42 +0300 |
commit | 2ae0f1e70be543b37f426dc1b7d8a44b05301faf (patch) | |
tree | acb1ff112941faf9cced6a3183e71faf688777ef /source/blender/compositor/operations/COM_WriteBufferOperation.cpp | |
parent | 36df8cc1e5be695fef4aeafc2c6b9aee92f5d56a (diff) |
Fix T43908: Mask render bug, one pixel black line
This was a regression caused by attempts to fix T42844 and there were
some red-herrings which lead me to the wrong way to fix it. It's some
deeper issue than just interpolation offset, it's mainly how the node
resolution is being mapped to each other.
It could be actually a part of canvas awareness project..
Diffstat (limited to 'source/blender/compositor/operations/COM_WriteBufferOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_WriteBufferOperation.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_WriteBufferOperation.cpp b/source/blender/compositor/operations/COM_WriteBufferOperation.cpp index 58bded75fdb..fccff2a33bf 100644 --- a/source/blender/compositor/operations/COM_WriteBufferOperation.cpp +++ b/source/blender/compositor/operations/COM_WriteBufferOperation.cpp @@ -74,7 +74,7 @@ void WriteBufferOperation::executeRegion(rcti *rect, unsigned int tileNumber) for (y = y1; y < y2 && (!breaked); y++) { int offset4 = (y * memoryBuffer->getWidth() + x1) * num_channels; for (x = x1; x < x2; x++) { - this->m_input->read(&(buffer[offset4]), (float)x + 0.5f, (float)y + 0.5f, data); + this->m_input->read(&(buffer[offset4]), x, y, data); offset4 += num_channels; } if (isBreaked()) { @@ -99,7 +99,7 @@ void WriteBufferOperation::executeRegion(rcti *rect, unsigned int tileNumber) for (y = y1; y < y2 && (!breaked); y++) { int offset4 = (y * memoryBuffer->getWidth() + x1) * num_channels; for (x = x1; x < x2; x++) { - this->m_input->readSampled(&(buffer[offset4]), (float)x + 0.5f, (float)y + 0.5f, COM_PS_NEAREST); + this->m_input->readSampled(&(buffer[offset4]), x, y, COM_PS_NEAREST); offset4 += num_channels; } if (isBreaked()) { |