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:
authorCampbell Barton <ideasman42@gmail.com>2012-06-14 19:04:40 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-06-14 19:04:40 +0400
commit0b2fcf43680eb0c6877bd111580fa98ae7ccb7e7 (patch)
treea7e8128cd82b18df3ca0dcda5a458dc2e1cfaa02 /source/blender/compositor/operations/COM_ScaleOperation.cpp
parent91eed57e62f2c820a9d1b4764ff3d4c7adafd51c (diff)
change to scale node - multiply scale by scene size, without this theres no reliable way to match different scaled footage to an output and still have useful preview's at <100 percentage.
Diffstat (limited to 'source/blender/compositor/operations/COM_ScaleOperation.cpp')
-rw-r--r--source/blender/compositor/operations/COM_ScaleOperation.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/compositor/operations/COM_ScaleOperation.cpp b/source/blender/compositor/operations/COM_ScaleOperation.cpp
index 341bcdd1b62..ae640bf7057 100644
--- a/source/blender/compositor/operations/COM_ScaleOperation.cpp
+++ b/source/blender/compositor/operations/COM_ScaleOperation.cpp
@@ -136,8 +136,14 @@ void ScaleAbsoluteOperation::executePixel(float *color, float x, float y, PixelS
this->inputXOperation->read(scaleX, x, y, sampler, inputBuffers);
this->inputYOperation->read(scaleY, x, y, sampler, inputBuffers);
+#ifdef USE_SCENE_COMPO_SCALE
+ const float scx = scaleX[0] * this->render_perc; // target absolute scale * render_percentage
+ const float scy = scaleY[0] * this->render_perc; // target absolute scale * render_percentage
+#else
const float scx = scaleX[0]; // target absolute scale
const float scy = scaleY[0]; // target absolute scale
+#endif
+
const float width = this->getWidth();
const float height = this->getHeight();
//div
@@ -146,6 +152,7 @@ void ScaleAbsoluteOperation::executePixel(float *color, float x, float y, PixelS
float nx = this->centerX + (x - this->centerX) / relativeXScale;
float ny = this->centerY + (y - this->centerY) / relativeYScale;
+
this->inputOperation->read(color, nx, ny, sampler, inputBuffers);
}