[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44513] branches/tile/source/blender: TileBranch

Jeroen Bakker j.bakker at atmind.nl
Tue Feb 28 13:05:22 CET 2012


Revision: 44513
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44513
Author:   jbakker
Date:     2012-02-28 12:05:11 +0000 (Tue, 28 Feb 2012)
Log Message:
-----------
TileBranch
 * Added a sampler node

With the sampler node it is possible to change image sample methods where you want.
Sampler only works for Images & MovieClips

 - At Mind - 

Modified Paths:
--------------
    branches/tile/source/blender/blenkernel/BKE_node.h
    branches/tile/source/blender/blenkernel/intern/node.c
    branches/tile/source/blender/compositor/CMakeLists.txt
    branches/tile/source/blender/compositor/COM_defines.h
    branches/tile/source/blender/compositor/intern/COM_Converter.cpp
    branches/tile/source/blender/compositor/intern/COM_ExecutionGroup.cpp
    branches/tile/source/blender/compositor/nodes/COM_ImageNode.cpp
    branches/tile/source/blender/compositor/operations/COM_ImageOperation.cpp
    branches/tile/source/blender/compositor/operations/COM_ImageOperation.h
    branches/tile/source/blender/compositor/operations/COM_MovieClipOperation.cpp
    branches/tile/source/blender/compositor/operations/COM_ReadBufferOperation.cpp
    branches/tile/source/blender/compositor/operations/COM_ReadBufferOperation.h
    branches/tile/source/blender/compositor/operations/COM_SetValueOperation.h
    branches/tile/source/blender/editors/space_node/drawnode.c
    branches/tile/source/blender/makesrna/intern/rna_nodetree.c
    branches/tile/source/blender/makesrna/intern/rna_nodetree_types.h
    branches/tile/source/blender/nodes/CMakeLists.txt
    branches/tile/source/blender/nodes/NOD_composite.h

Added Paths:
-----------
    branches/tile/source/blender/compositor/nodes/COM_SamplerNode.cpp
    branches/tile/source/blender/compositor/nodes/COM_SamplerNode.h
    branches/tile/source/blender/compositor/operations/COM_SetSamplerOperation.cpp
    branches/tile/source/blender/compositor/operations/COM_SetSamplerOperation.h
    branches/tile/source/blender/nodes/composite/nodes/node_composite_sampler.c

Modified: branches/tile/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/tile/source/blender/blenkernel/BKE_node.h	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/blenkernel/BKE_node.h	2012-02-28 12:05:11 UTC (rev 44513)
@@ -670,6 +670,7 @@
 #define CMP_NODE_SWITCH         318
 
 #define CMP_NODE_OPENCLTEST     319
+#define CMP_NODE_SAMPLER        320
 
 /* channel toggles */
 #define CMP_CHAN_RGB		1

Modified: branches/tile/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/tile/source/blender/blenkernel/intern/node.c	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/blenkernel/intern/node.c	2012-02-28 12:05:11 UTC (rev 44513)
@@ -1876,6 +1876,7 @@
 	register_node_type_cmp_bokehblur(ttype);
 	register_node_type_cmp_switch(ttype);
 	register_node_type_cmp_opencltest(ttype);
+	register_node_type_cmp_sampler(ttype);
 }
 
 static void registerShaderNodes(bNodeTreeType *ttype) 

Modified: branches/tile/source/blender/compositor/CMakeLists.txt
===================================================================
--- branches/tile/source/blender/compositor/CMakeLists.txt	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/CMakeLists.txt	2012-02-28 12:05:11 UTC (rev 44513)
@@ -261,6 +261,9 @@
 	operations/COM_NormalizeOperation.h
 
 # Filter nodes
+	nodes/COM_SamplerNode.cpp
+	nodes/COM_SamplerNode.h
+
 		nodes/COM_FilterNode.cpp
 		nodes/COM_FilterNode.h
 		nodes/COM_DilateErode2Node.cpp
@@ -535,19 +538,21 @@
 	operations/COM_GlareSimpleStarOperation.h
 	operations/COM_GlareStreaksOperation.cpp
 	operations/COM_GlareStreaksOperation.h
+	operations/COM_SetSamplerOperation.cpp
+	operations/COM_SetSamplerOperation.h
 
 
 #Convert operations
-		operations/COM_IDMaskOperation.cpp
-		operations/COM_IDMaskOperation.h
+	operations/COM_IDMaskOperation.cpp
+	operations/COM_IDMaskOperation.h
 
-		operations/COM_SeparateChannelOperation.cpp
-		operations/COM_SeparateChannelOperation.h
-		operations/COM_CombineChannelsOperation.cpp
-		operations/COM_CombineChannelsOperation.h
+	operations/COM_SeparateChannelOperation.cpp
+	operations/COM_SeparateChannelOperation.h
+	operations/COM_CombineChannelsOperation.cpp
+	operations/COM_CombineChannelsOperation.h
 
-		operations/COM_DotproductOperation.cpp
-		operations/COM_DotproductOperation.h
+	operations/COM_DotproductOperation.cpp
+	operations/COM_DotproductOperation.h
 
 #    operations/COM_ConvertColorSpaceOperation.h
 #    operations/COM_ConvertColorSpaceOperation.cpp
@@ -567,7 +572,6 @@
 	operations/COM_MovieClipOperation.h
 	operations/COM_ConvertColorProfileOperation.cpp
 	operations/COM_ConvertColorProfileOperation.h
-
 #     operations/COM_OpenCLKernels.cl.cpp
 )
 

Modified: branches/tile/source/blender/compositor/COM_defines.h
===================================================================
--- branches/tile/source/blender/compositor/COM_defines.h	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/COM_defines.h	2012-02-28 12:05:11 UTC (rev 44513)
@@ -91,12 +91,9 @@
 } OrderOfChunks;
 
 #define COM_RULE_OF_THIRDS_DIVIDER 100.0f
-#define COM_MM_MAX_ALLOCATED_MEMORY 1*1024*1024*1024
 
 #define COM_NUMBER_OF_CHANNELS 4
 
-#define COM_RM_NORMAL 0
-#define COM_RM_LINEAR 1
 #define COM_DEFAULT_RESOLUTION_WIDTH 640
 #define COM_DEFAULT_RESOLUTION_HEIGHT 480
 

Modified: branches/tile/source/blender/compositor/intern/COM_Converter.cpp
===================================================================
--- branches/tile/source/blender/compositor/intern/COM_Converter.cpp	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/intern/COM_Converter.cpp	2012-02-28 12:05:11 UTC (rev 44513)
@@ -107,6 +107,7 @@
 #include "COM_MapValueNode.h"
 #include "COM_TransformNode.h"
 #include "COM_Stabilize2dNode.h"
+#include "COM_SamplerNode.h"
 
 Node* Converter::convert(bNode *bNode) {
 	Node * node;
@@ -328,6 +329,9 @@
 	case CMP_NODE_STABILIZE2D:
 		node = new Stabilize2dNode(bNode);
 		break;
+	case CMP_NODE_SAMPLER:
+		node = new SamplerNode(bNode);
+		break;
 	/* not inplemented yet */
 	case CMP_NODE_VECBLUR:
 	case CMP_NODE_DOUBLEEDGEMASK:

Modified: branches/tile/source/blender/compositor/intern/COM_ExecutionGroup.cpp
===================================================================
--- branches/tile/source/blender/compositor/intern/COM_ExecutionGroup.cpp	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/intern/COM_ExecutionGroup.cpp	2012-02-28 12:05:11 UTC (rev 44513)
@@ -152,9 +152,6 @@
 			ReadBufferOperation *readOperation = (ReadBufferOperation*)operation;
 			this->cachedReadOperations.push_back(readOperation);
 			maxNumber = max(maxNumber, readOperation->getOffset());
-			if (!this->isComplex()) {
-				readOperation->setReadMode(COM_RM_LINEAR);
-			}
 		}
 	}
 	maxNumber++;

Modified: branches/tile/source/blender/compositor/nodes/COM_ImageNode.cpp
===================================================================
--- branches/tile/source/blender/compositor/nodes/COM_ImageNode.cpp	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/nodes/COM_ImageNode.cpp	2012-02-28 12:05:11 UTC (rev 44513)
@@ -42,7 +42,6 @@
 	operation->setImage(image);
 	operation->setImageUser(imageuser);
 	operation->setFramenumber(context->getFramenumber());
-	operation->setInterpolationMode(context->getQuality() == COM_QUALITY_LOW?COM_IM_NEAREST:COM_IM_LINEAR);
 	graph->addOperation(operation);
 	addPreviewOperation(graph, operation->getOutputSocket(), 9);
 
@@ -52,7 +51,6 @@
 		alphaOperation->setImage(image);
 		alphaOperation->setImageUser(imageuser);
 		alphaOperation->setFramenumber(context->getFramenumber());
-		alphaOperation->setInterpolationMode(context->getQuality() == COM_QUALITY_LOW?COM_IM_NEAREST:COM_IM_LINEAR);
 		alphaImage->relinkConnections(alphaOperation->getOutputSocket());
 		graph->addOperation(alphaOperation);
 	}

Added: branches/tile/source/blender/compositor/nodes/COM_SamplerNode.cpp
===================================================================
--- branches/tile/source/blender/compositor/nodes/COM_SamplerNode.cpp	                        (rev 0)
+++ branches/tile/source/blender/compositor/nodes/COM_SamplerNode.cpp	2012-02-28 12:05:11 UTC (rev 44513)
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011, Blender Foundation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor: 
+ *		Jeroen Bakker 
+ *		Monique Dewanchand
+ */
+
+#include "COM_SamplerNode.h"
+#include "DNA_scene_types.h"
+#include "COM_SetSamplerOperation.h"
+#include "COM_ExecutionSystem.h"
+
+SamplerNode::SamplerNode(bNode *editorNode): Node(editorNode) {
+}
+
+void SamplerNode::convertToOperations(ExecutionSystem *system, CompositorContext * context) {
+	SetSamplerOperation *operation = new SetSamplerOperation();
+	this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0), true, 0, system);
+	this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket());
+	bNode* node = this->getbNode();
+	switch (node->custom1) {
+	case 0:
+		operation->setSampler(COM_PS_NEAREST);
+		break;
+	case 1:
+		operation->setSampler(COM_PS_BILINEAR);
+		break;
+	case 2:
+		operation->setSampler(COM_PS_BICUBIC);
+		break;
+	}
+	system->addOperation(operation);
+}

Added: branches/tile/source/blender/compositor/nodes/COM_SamplerNode.h
===================================================================
--- branches/tile/source/blender/compositor/nodes/COM_SamplerNode.h	                        (rev 0)
+++ branches/tile/source/blender/compositor/nodes/COM_SamplerNode.h	2012-02-28 12:05:11 UTC (rev 44513)
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2011, Blender Foundation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor: 
+ *		Jeroen Bakker 
+ *		Monique Dewanchand
+ */
+
+#ifndef _COM_SamplerNode_h_
+#define _COM_SamplerNode_h_
+
+#include "COM_Node.h"
+
+/**
+  * @brief SamplerNode
+  * @ingroup Node
+  */
+class SamplerNode: public Node {
+public:
+	SamplerNode(bNode *editorNode);
+	void convertToOperations(ExecutionSystem* graph, CompositorContext * context);
+};
+
+#endif

Modified: branches/tile/source/blender/compositor/operations/COM_ImageOperation.cpp
===================================================================
--- branches/tile/source/blender/compositor/operations/COM_ImageOperation.cpp	2012-02-28 11:18:05 UTC (rev 44512)
+++ branches/tile/source/blender/compositor/operations/COM_ImageOperation.cpp	2012-02-28 12:05:11 UTC (rev 44513)
@@ -38,12 +38,12 @@
 
 BaseImageOperation::BaseImageOperation(): NodeOperation() {
     this->image = NULL;
+	this->buffer = NULL;
     this->imageBuffer = NULL;
     this->imageUser = NULL;
     this->imagewidth = 0;
     this->imageheight = 0;
 	this->framenumber = 0;
-	this->interpolation = COM_IM_NEAREST;
 }
 ImageOperation::ImageOperation(): BaseImageOperation() {
     this->addOutputSocket(COM_DT_COLOR);
@@ -71,6 +71,7 @@
 void BaseImageOperation::initExecution() {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list