[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50179] trunk/blender/source/blender/ compositor: fix for bug in variable size blur compositor node - using incorrect Y blur operations and uninitialized memory was causing random blur results .

Campbell Barton ideasman42 at gmail.com
Fri Aug 24 14:48:56 CEST 2012


Revision: 50179
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50179
Author:   campbellbarton
Date:     2012-08-24 12:48:56 +0000 (Fri, 24 Aug 2012)
Log Message:
-----------
fix for bug in variable size blur compositor node - using incorrect Y blur operations and uninitialized memory was causing random blur results.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
    trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
    trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
    trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp

Modified: trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp	2012-08-24 12:17:07 UTC (rev 50178)
+++ trunk/blender/source/blender/compositor/nodes/COM_BlurNode.cpp	2012-08-24 12:48:56 UTC (rev 50179)
@@ -74,14 +74,18 @@
 		operationx->setbNode(editorNode);
 		operationx->setQuality(quality);
 		operationx->setSize(1.0f);
+		operationx->setFalloff(PROP_SMOOTH);
+		operationx->setSubtract(false);
 		addLink(graph, clamp->getOutputSocket(), operationx->getInputSocket(0));
 		graph->addOperation(operationx);
 
-		GaussianYBlurOperation *operationy = new GaussianYBlurOperation();
+		GaussianAlphaYBlurOperation *operationy = new GaussianAlphaYBlurOperation();
 		operationy->setData(data);
 		operationy->setbNode(editorNode);
 		operationy->setQuality(quality);
 		operationy->setSize(1.0f);
+		operationy->setFalloff(PROP_SMOOTH);
+		operationy->setSubtract(false);
 		addLink(graph, operationx->getOutputSocket(), operationy->getInputSocket(0));
 		graph->addOperation(operationy);
 

Modified: trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp	2012-08-24 12:17:07 UTC (rev 50178)
+++ trunk/blender/source/blender/compositor/operations/COM_BlurBaseOperation.cpp	2012-08-24 12:48:56 UTC (rev 50179)
@@ -121,6 +121,11 @@
 				val = val * val;
 				break;
 			case PROP_LIN:
+#ifndef NDEBUG
+			/* uninitialized! */
+			case -1:
+				BLI_assert(0);
+#endif
 			default:
 				/* nothing */
 				break;

Modified: trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp	2012-08-24 12:17:07 UTC (rev 50178)
+++ trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp	2012-08-24 12:48:56 UTC (rev 50179)
@@ -33,6 +33,7 @@
 {
 	this->m_gausstab = NULL;
 	this->m_rad = 0;
+	this->m_falloff = -1;  /* intentionally invalid, so we can detect uninitialized values */
 }
 
 void *GaussianAlphaXBlurOperation::initializeTileData(rcti *rect)

Modified: trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp	2012-08-24 12:17:07 UTC (rev 50178)
+++ trunk/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp	2012-08-24 12:48:56 UTC (rev 50179)
@@ -33,6 +33,7 @@
 {
 	this->m_gausstab = NULL;
 	this->m_rad = 0;
+	this->m_falloff = -1;  /* intentionally invalid, so we can detect uninitialized values */
 }
 
 void *GaussianAlphaYBlurOperation::initializeTileData(rcti *rect)




More information about the Bf-blender-cvs mailing list