Comment out coordinates mapping made in rev55469
authorSergey Sharybin <sergey.vfx@gmail.com>
Sat, 18 May 2013 12:21:01 +0000 (12:21 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Sat, 18 May 2013 12:21:01 +0000 (12:21 +0000)
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

source/blender/compositor/operations/COM_CompositorOperation.cpp
source/blender/compositor/operations/COM_RenderLayersBaseProg.cpp

index f46aae9e455f2763682a0097f9d5d517525b7a0e..383682b147410c3ae189a99a0f0ae367ea779ac0 100644 (file)
@@ -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++) {
index 3421b0a2b344614ac9fca0d07317af962df67a32..b50dca33f3b19e463919f6517a3f57709f67135f 100644 (file)
@@ -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);