Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-04-14 21:58:02 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-04-14 21:59:08 +0400
commit8fd6879b88273ded24ab647ee76a116efb4a18c2 (patch)
tree0fa904aed80b1242d538bf9c02b7f1761b7e56f2
parent4f00737f4b0457e31611f32bcafbf78867487c85 (diff)
Fix T39700: Plane deform still works forever
Clamped the EWA sampling region to buffer size now. Solves the issue, but needs more tests to be sure weights are correct.
-rw-r--r--source/blender/compositor/intern/COM_MemoryBuffer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/compositor/intern/COM_MemoryBuffer.cpp b/source/blender/compositor/intern/COM_MemoryBuffer.cpp
index 74991738d7a..aa2a5475d38 100644
--- a/source/blender/compositor/intern/COM_MemoryBuffer.cpp
+++ b/source/blender/compositor/intern/COM_MemoryBuffer.cpp
@@ -295,7 +295,12 @@ void MemoryBuffer::readEWA(float result[4], const float uv[2], const float deriv
zero_v4(result);
return;
}
- /* TODO(sergey): Consider clamping u1/v1/u2/v2 to the m_rect. */
+
+ /* Clamp sampling rectagle to the buffer dimensions. */
+ u1 = max_ii(u1, m_rect.xmin);
+ u2 = min_ii(u2, m_rect.xmax);
+ v1 = max_ii(v1, m_rect.ymin);
+ v2 = min_ii(v2, m_rect.ymax);
float DDQ = 2.0f * A;
float U = u1 - U0;