From 040279679c229fb6ca4d3c6424166492a02e5cc1 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sat, 18 May 2013 12:21:01 +0000 Subject: [PATCH] Comment out coordinates mapping made in rev55469 Such mapping only worked foe compositor output node (with some issues btw) and failed dramatically for nodes like previews and viewers. For now let's behave the same way as border+crop worked in 2.66 for until proper feature support is ready (which could take some time). Fixes #35313: object and ID anti-aliased masks get messed up when using border render + crop --- .../compositor/operations/COM_CompositorOperation.cpp | 2 ++ .../compositor/operations/COM_RenderLayersBaseProg.cpp | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/source/blender/compositor/operations/COM_CompositorOperation.cpp b/source/blender/compositor/operations/COM_CompositorOperation.cpp index f46aae9e455..383682b1474 100644 --- a/source/blender/compositor/operations/COM_CompositorOperation.cpp +++ b/source/blender/compositor/operations/COM_CompositorOperation.cpp @@ -145,6 +145,7 @@ void CompositorOperation::executeRegion(rcti *rect, unsigned int tileNumber) bool breaked = false; int dx = 0, dy = 0; +#if 0 const RenderData *rd = this->m_rd; if (rd->mode & R_BORDER && rd->mode & R_CROP) { @@ -181,6 +182,7 @@ void CompositorOperation::executeRegion(rcti *rect, unsigned int tileNumber) dx = rd->border.xmin * full_width - (full_width - this->getWidth()) / 2.0f; dy = rd->border.ymin * full_height - (full_height - this->getHeight()) / 2.0f; } +#endif for (y = y1; y < y2 && (!breaked); y++) { for (x = x1; x < x2 && (!breaked); x++) { diff --git a/source/blender/compositor/operations/COM_RenderLayersBaseProg.cpp b/source/blender/compositor/operations/COM_RenderLayersBaseProg.cpp index 3421b0a2b34..b50dca33f3b 100644 --- a/source/blender/compositor/operations/COM_RenderLayersBaseProg.cpp +++ b/source/blender/compositor/operations/COM_RenderLayersBaseProg.cpp @@ -112,6 +112,7 @@ void RenderLayersBaseProg::doInterpolation(float output[4], float x, float y, Pi void RenderLayersBaseProg::executePixel(float output[4], float x, float y, PixelSampler sampler) { +#if 0 const RenderData *rd = this->m_rd; int dx = 0, dy = 0; @@ -129,6 +130,10 @@ void RenderLayersBaseProg::executePixel(float output[4], float x, float y, Pixel int ix = x - dx; int iy = y - dy; +#else + int ix = x; + int iy = y; +#endif if (this->m_inputBuffer == NULL || ix < 0 || iy < 0 || ix >= (int)this->getWidth() || iy >= (int)this->getHeight() ) { zero_v4(output);