From 02fad7dca4adc5e248440c98293cdf713f25d39d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 20 Jan 2015 14:46:21 +0500 Subject: Fix T42844: Compositor scale offset Different interpolation methods in compositor could lead to 0.5 pixel offset in final renders. This is because of some inconsistency in integer coordinates which might mean pixel corner or pixel center. Should be all fine now. --- source/blender/compositor/operations/COM_MultilayerImageOperation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/compositor/operations/COM_MultilayerImageOperation.cpp') diff --git a/source/blender/compositor/operations/COM_MultilayerImageOperation.cpp b/source/blender/compositor/operations/COM_MultilayerImageOperation.cpp index 23fba5a7999..35ab20fb122 100644 --- a/source/blender/compositor/operations/COM_MultilayerImageOperation.cpp +++ b/source/blender/compositor/operations/COM_MultilayerImageOperation.cpp @@ -54,10 +54,10 @@ void MultilayerColorOperation::executePixelSampled(float output[4], float x, flo nearest_interpolation_color(this->m_buffer, NULL, output, x, y); break; case COM_PS_BILINEAR: - bilinear_interpolation_color(this->m_buffer, NULL, output, x, y); + bilinear_interpolation_color(this->m_buffer, NULL, output, x - 0.5f, y - 0.5f); break; case COM_PS_BICUBIC: - bicubic_interpolation_color(this->m_buffer, NULL, output, x, y); + bicubic_interpolation_color(this->m_buffer, NULL, output, x - 0.5f, y - 0.5f); break; } } -- cgit v1.2.3