[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45524] branches/tile/source/blender/ compositor: TileBranch
Jeroen Bakker
j.bakker at atmind.nl
Tue Apr 10 23:33:45 CEST 2012
Revision: 45524
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45524
Author: jbakker
Date: 2012-04-10 21:33:43 +0000 (Tue, 10 Apr 2012)
Log Message:
-----------
TileBranch
* added quality setting for vector blur. The quality setting will change the actual number of samples to be calculated. With high quality the user selected number of samples will be used. with low this amount is divided by 3, medium by 2. Tests are needed if this suits in a normal workflow.
- At Mind -
Modified Paths:
--------------
branches/tile/source/blender/compositor/nodes/COM_VectorBlurNode.cpp
branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.cpp
branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.h
Modified: branches/tile/source/blender/compositor/nodes/COM_VectorBlurNode.cpp
===================================================================
--- branches/tile/source/blender/compositor/nodes/COM_VectorBlurNode.cpp 2012-04-10 20:14:48 UTC (rev 45523)
+++ branches/tile/source/blender/compositor/nodes/COM_VectorBlurNode.cpp 2012-04-10 21:33:43 UTC (rev 45524)
@@ -36,6 +36,7 @@
NodeBlurData* vectorBlurSettings = (NodeBlurData*)node->storage;
VectorBlurOperation *operation = new VectorBlurOperation();
operation->setVectorBlurSettings(vectorBlurSettings);
+ operation->setQuality(context->getQuality());
this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1), true, 1, system);
this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2), true, 2, system);
Modified: branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.cpp
===================================================================
--- branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.cpp 2012-04-10 20:14:48 UTC (rev 45523)
+++ branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.cpp 2012-04-10 21:33:43 UTC (rev 45524)
@@ -46,6 +46,8 @@
this->inputZProgram = getInputSocketReader(1);
this->inputSpeedProgram = getInputSocketReader(2);
this->cachedInstance = NULL;
+ QualityStepHelper::initExecution(COM_QH_INCREASE);
+
}
void VectorBlurOperation::executePixel(float* color, int x, int y, MemoryBuffer *inputBuffers[], void* data) {
@@ -95,7 +97,13 @@
void VectorBlurOperation::generateVectorBlur(float* data, MemoryBuffer* inputImage, MemoryBuffer* inputSpeed, MemoryBuffer* inputZ) {
float *zbuf = inputZ->convertToValueBuffer();
- RE_zbuf_accumulate_vecblur(this->settings, this->getWidth(), this->getHeight(), data, inputImage->getBuffer(), inputSpeed->getBuffer(), zbuf);
+ NodeBlurData blurdata;
+ blurdata.samples = this->settings->samples/QualityStepHelper::getStep();
+ blurdata.maxspeed = this->settings->maxspeed;
+ blurdata.minspeed = this->settings->minspeed;
+ blurdata.curved = this->settings->curved;
+ blurdata.fac = this->settings->fac;
+ RE_zbuf_accumulate_vecblur(&blurdata, this->getWidth(), this->getHeight(), data, inputImage->getBuffer(), inputSpeed->getBuffer(), zbuf);
delete zbuf;
return;
}
Modified: branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.h
===================================================================
--- branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.h 2012-04-10 20:14:48 UTC (rev 45523)
+++ branches/tile/source/blender/compositor/operations/COM_VectorBlurOperation.h 2012-04-10 21:33:43 UTC (rev 45524)
@@ -24,8 +24,9 @@
#define _COM_VectorBlurOperation_h
#include "COM_NodeOperation.h"
#include "DNA_node_types.h"
+#include "COM_QualityStepHelper.h"
-class VectorBlurOperation : public NodeOperation {
+class VectorBlurOperation : public NodeOperation, public QualityStepHelper {
private:
/**
* @brief Cached reference to the inputProgram
More information about the Bf-blender-cvs
mailing list