[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