Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2012-05-21 14:20:30 +0400
committerJeroen Bakker <j.bakker@atmind.nl>2012-05-21 14:20:30 +0400
commit998a850f9f2747065ffe379097907232a85cd2d5 (patch)
treea4b86c8a1f10e1c39e7557edad82d2a55574ea62 /source/blender/compositor/operations/COM_DilateErodeOperation.h
parent14e4ad930209a3b861b5b514fbd23b39a7d16e94 (diff)
Added switch in dilate/erode between old (Step) and new (Distance)
algorithm Connected the Glare Fog Flow to use Fast Gaussian in stead of Bokeh blur
Diffstat (limited to 'source/blender/compositor/operations/COM_DilateErodeOperation.h')
-rw-r--r--source/blender/compositor/operations/COM_DilateErodeOperation.h46
1 files changed, 44 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_DilateErodeOperation.h b/source/blender/compositor/operations/COM_DilateErodeOperation.h
index 102d1165bc8..7f01ea94494 100644
--- a/source/blender/compositor/operations/COM_DilateErodeOperation.h
+++ b/source/blender/compositor/operations/COM_DilateErodeOperation.h
@@ -25,7 +25,7 @@
#include "COM_NodeOperation.h"
-class DilateErodeOperation : public NodeOperation {
+class DilateErodeDistanceOperation : public NodeOperation {
private:
/**
* Cached reference to the inputProgram
@@ -42,7 +42,7 @@ private:
*/
int scope;
public:
- DilateErodeOperation();
+ DilateErodeDistanceOperation();
/**
* the inner loop of this program
@@ -67,4 +67,46 @@ public:
bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output);
};
+
+class DilateStepOperation : public NodeOperation {
+protected:
+ /**
+ * Cached reference to the inputProgram
+ */
+ SocketReader * inputProgram;
+
+ int iterations;
+
+ float *cached_buffer;
+public:
+ DilateStepOperation();
+
+ /**
+ * the inner loop of this program
+ */
+ void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data);
+
+ /**
+ * Initialize the execution
+ */
+ void initExecution();
+
+ void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers);
+ /**
+ * Deinitialize the execution
+ */
+ void deinitExecution();
+
+ void setIterations(int iterations) {this->iterations = iterations;}
+
+ bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output);
+};
+
+class ErodeStepOperation : public DilateStepOperation {
+public:
+ ErodeStepOperation();
+
+ void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers);
+};
+
#endif