From 902014555a401f770ec17ffeb77e65dc8615c30c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 13 Jun 2012 10:35:41 +0000 Subject: [PATCH] always use bicubic sampler for the scale node with the new compositor since it worked like this in the old compositor. this ignores the sampler passed and could be done in a nicer way so left this as an ifdef so it can be easily redone. --- .../compositor/operations/COM_ScaleOperation.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/blender/compositor/operations/COM_ScaleOperation.cpp b/source/blender/compositor/operations/COM_ScaleOperation.cpp index ef1199cfa32..341bcdd1b62 100644 --- a/source/blender/compositor/operations/COM_ScaleOperation.cpp +++ b/source/blender/compositor/operations/COM_ScaleOperation.cpp @@ -22,6 +22,10 @@ #include "COM_ScaleOperation.h" +#define USE_FORCE_BICUBIC +/* XXX - ignore input and use default from old compositor, + * could become an option like the transform node - campbell */ + ScaleOperation::ScaleOperation() : NodeOperation() { this->addInputSocket(COM_DT_COLOR); @@ -52,6 +56,10 @@ void ScaleOperation::deinitExecution() void ScaleOperation::executePixel(float *color, float x, float y, PixelSampler sampler, MemoryBuffer *inputBuffers[]) { +#ifdef USE_FORCE_BICUBIC + sampler = COM_PS_BICUBIC; +#endif + float scaleX[4]; float scaleY[4]; @@ -118,6 +126,10 @@ void ScaleAbsoluteOperation::deinitExecution() void ScaleAbsoluteOperation::executePixel(float *color, float x, float y, PixelSampler sampler, MemoryBuffer *inputBuffers[]) { +#ifdef USE_FORCE_BICUBIC + sampler = COM_PS_BICUBIC; +#endif + float scaleX[4]; float scaleY[4]; @@ -186,6 +198,10 @@ void ScaleFixedSizeOperation::deinitExecution() void ScaleFixedSizeOperation::executePixel(float *color, float x, float y, PixelSampler sampler, MemoryBuffer *inputBuffers[]) { +#ifdef USE_FORCE_BICUBIC + sampler = COM_PS_BICUBIC; +#endif + this->inputOperation->read(color, x * relX, y * relY, sampler, inputBuffers); }