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

Jeroen Bakker j.bakker at atmind.nl
Wed Jan 18 16:08:42 CET 2012


Revision: 43493
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43493
Author:   jbakker
Date:     2012-01-18 15:08:37 +0000 (Wed, 18 Jan 2012)
Log Message:
-----------
TileBranch
 * resolution propagation patch

Resolution were not always propagated between read/write buffers. This will be important when implementing Buffer caches

Jeroen Bakker
 - At Mind - 

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

Modified: branches/tile/source/blender/compositor/operations/COM_ReadBufferOperation.cpp
===================================================================
--- branches/tile/source/blender/compositor/operations/COM_ReadBufferOperation.cpp	2012-01-18 14:52:47 UTC (rev 43492)
+++ branches/tile/source/blender/compositor/operations/COM_ReadBufferOperation.cpp	2012-01-18 15:08:37 UTC (rev 43493)
@@ -35,21 +35,24 @@
 }
 
 void ReadBufferOperation::determineResolution(unsigned int resolution[], unsigned int preferredResolution[]) {
-    if (this->memoryProxy != NULL) {
-        memoryProxy->getWriteBufferOperation()->determineResolution(resolution, preferredResolution);
+	if (this->memoryProxy != NULL) {
+		WriteBufferOperation * operation = memoryProxy->getWriteBufferOperation();
+		operation->determineResolution(resolution, preferredResolution);
+		operation->setResolution(resolution);
+
 		/// @todo: may not occur!, but does with blur node
 		if (memoryProxy->getExecutor()) memoryProxy->getExecutor()->setResolution(resolution);
-    }
+	}
 }
 void ReadBufferOperation::executePixel(float* color, float x, float y, MemoryBuffer *inputBuffers[]) {
-    MemoryBuffer *inputBuffer = inputBuffers[this->offset];
+	MemoryBuffer *inputBuffer = inputBuffers[this->offset];
 	if (inputBuffer) {
-        if (readmode == COM_RM_NORMAL) {
-            inputBuffer->read(color, x, y);
-        } else {
-            inputBuffer->readCubic(color, x, y);
-        }
-    }
+		if (readmode == COM_RM_NORMAL) {
+			inputBuffer->read(color, x, y);
+		} else {
+			inputBuffer->readCubic(color, x, y);
+		}
+	}
 }
 
 void ReadBufferOperation::executePixel(float *color, float x, float y, float dx, float dy, MemoryBuffer *inputBuffers[]) {



More information about the Bf-blender-cvs mailing list