[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45520] branches/tile/source/blender/ compositor/operations/COM_BilateralBlurOperation.cpp: TileBranch

Jeroen Bakker j.bakker at atmind.nl
Tue Apr 10 19:07:14 CEST 2012


Revision: 45520
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45520
Author:   jbakker
Date:     2012-04-10 17:07:14 +0000 (Tue, 10 Apr 2012)
Log Message:
-----------
TileBranch
 * increased editing performance of the bilateral blur

 - At Mind - 

Modified Paths:
--------------
    branches/tile/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp

Modified: branches/tile/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp
===================================================================
--- branches/tile/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp	2012-04-10 17:01:35 UTC (rev 45519)
+++ branches/tile/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp	2012-04-10 17:07:14 UTC (rev 45520)
@@ -50,10 +50,12 @@
 	float tempColor[4];
 	float blurColor[4];
 	float blurDivider;
-	int minx = x - this->data->sigma_space;
-	int maxx = x + this->data->sigma_space;
-	int miny = y - this->data->sigma_space;
-	int maxy = y + this->data->sigma_space;
+	float sigmaspace = this->data->sigma_space;
+	float sigmacolor = this->data->sigma_color;
+	int minx = x - sigmaspace;
+	int maxx = x + sigmaspace;
+	int miny = y - sigmaspace;
+	int maxy = y + sigmaspace;
 	float deltaColor;
 	this->inputDeterminatorProgram->read(determinatorReferenceColor, x, y, inputBuffers, data);
 	
@@ -61,14 +63,14 @@
 	blurColor[1] = 0.0f;
 	blurColor[2] = 0.0f;
 	blurDivider = 0.0f;
-	for (int yi = miny ; yi < maxy ; yi++) {
-		for (int xi = minx ; xi < maxx ; xi++) {
+	for (int yi = miny ; yi < maxy ; yi+=QualityStepHelper::getStep()) {
+		for (int xi = minx ; xi < maxx ; xi+=QualityStepHelper::getStep()) {
 			// read determinator
 			this->inputDeterminatorProgram->read(determinator, xi, yi, inputBuffers, data);
 			deltaColor = fabsf(determinatorReferenceColor[0] - determinator[0])+
 			        fabsf(determinatorReferenceColor[1] - determinator[1])+
 			        fabsf(determinatorReferenceColor[2] - determinator[2]); // do not take the alpha channel into account
-			if (deltaColor< this->data->sigma_color) {
+			if (deltaColor< sigmacolor) {
 				// add this to the blur
 				this->inputColorProgram->read(tempColor, xi, yi, inputBuffers, data);
 				blurColor[0]+=tempColor[0];




More information about the Bf-blender-cvs mailing list