Commit: 0563280bff35652a599ff5758f76a7ac5048d728
Author: Jeroen Bakker
Date:   Tue Apr 15 19:11:05 2014 +0200
https://developer.blender.org/rB0563280bff35652a599ff5758f76a7ac5048d728

Compositor squashed patch reapplied

Started with the MemoryBufferValue
still a lot needs to be done
stopped at testing the dilate/erode

TILES: did some fixed for value buffer

Determine image format of OpenCL device

TILES: TextureNode fix

TILES: moved buffer sizes to constants for easy access.

TILES: fixed some nodes.
still working on the defocus node

TILES: fixed glare, keying, defocus, normalize, vector curves

===================================================================

M       source/blender/compositor/CMakeLists.txt
M       source/blender/compositor/COM_defines.h
D       source/blender/compositor/intern/COM_ChannelInfo.cpp
D       source/blender/compositor/intern/COM_ChannelInfo.h
M       source/blender/compositor/intern/COM_ExecutionGroup.cpp
M       source/blender/compositor/intern/COM_ExecutionSystem.cpp
M       source/blender/compositor/intern/COM_MemoryBuffer.cpp
M       source/blender/compositor/intern/COM_MemoryBuffer.h
A       source/blender/compositor/intern/COM_MemoryBufferColor.cpp
A       source/blender/compositor/intern/COM_MemoryBufferColor.h
A       source/blender/compositor/intern/COM_MemoryBufferValue.cpp
A       source/blender/compositor/intern/COM_MemoryBufferValue.h
A       source/blender/compositor/intern/COM_MemoryBufferVector.cpp
A       source/blender/compositor/intern/COM_MemoryBufferVector.h
M       source/blender/compositor/intern/COM_MemoryProxy.cpp
M       source/blender/compositor/intern/COM_MemoryProxy.h
M       source/blender/compositor/intern/COM_OpenCLDevice.cpp
M       source/blender/compositor/intern/COM_OpenCLDevice.h
M       source/blender/compositor/intern/COM_OutputSocket.h
M       source/blender/compositor/intern/COM_SocketConnection.h
M       source/blender/compositor/nodes/COM_SocketProxyNode.cpp
M       source/blender/compositor/nodes/COM_TranslateNode.cpp
M       source/blender/compositor/operations/COM_AntiAliasOperation.cpp
M       source/blender/compositor/operations/COM_CompositorOperation.cpp
M       source/blender/compositor/operations/COM_ConvertOperation.cpp
M       source/blender/compositor/operations/COM_DilateErodeOperation.cpp
M       source/blender/compositor/operations/COM_FastGaussianBlurOperation.cpp
M       source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
M       source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
M       source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp
M       source/blender/compositor/operations/COM_GlareBaseOperation.cpp
M       source/blender/compositor/operations/COM_GlareFogGlowOperation.cpp
M       source/blender/compositor/operations/COM_GlareGhostOperation.cpp
M       source/blender/compositor/operations/COM_GlareStreaksOperation.cpp
M       source/blender/compositor/operations/COM_InpaintOperation.cpp
M       source/blender/compositor/operations/COM_KeyingBlurOperation.cpp
M       source/blender/compositor/operations/COM_KeyingClipOperation.cpp
M       source/blender/compositor/operations/COM_MapUVOperation.cpp
M       source/blender/compositor/operations/COM_NormalizeOperation.cpp
M       source/blender/compositor/operations/COM_QualityStepHelper.cpp
M       source/blender/compositor/operations/COM_ReadBufferOperation.cpp
M       source/blender/compositor/operations/COM_ReadBufferOperation.h
M       source/blender/compositor/operations/COM_RenderLayersProg.cpp
M       source/blender/compositor/operations/COM_SetVectorOperation.cpp
M       source/blender/compositor/operations/COM_TextureOperation.cpp
M       
source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.cpp
M       source/blender/compositor/operations/COM_VectorBlurOperation.cpp
M       source/blender/compositor/operations/COM_VectorCurveOperation.cpp
M       source/blender/compositor/operations/COM_WrapOperation.cpp
M       source/blender/compositor/operations/COM_WrapOperation.h
M       source/blender/compositor/operations/COM_WriteBufferOperation.cpp
M       source/blender/compositor/operations/COM_WriteBufferOperation.h

===================================================================

diff --git a/source/blender/compositor/CMakeLists.txt 
b/source/blender/compositor/CMakeLists.txt
index cbb1017..1ab0820 100644
--- a/source/blender/compositor/CMakeLists.txt
+++ b/source/blender/compositor/CMakeLists.txt
@@ -80,7 +80,10 @@ set(SRC
        intern/COM_MemoryProxy.h
        intern/COM_MemoryBuffer.cpp
        intern/COM_MemoryBuffer.h
-       intern/COM_WorkScheduler.cpp
+       intern/COM_MemoryBufferColor
+        intern/COM_MemoryBufferVector
+        intern/COM_MemoryBufferValue
+        intern/COM_WorkScheduler.cpp
        intern/COM_WorkScheduler.h
        intern/COM_WorkPackage.cpp
        intern/COM_WorkPackage.h
@@ -96,8 +99,6 @@ set(SRC
        intern/COM_OpenCLDevice.h
        intern/COM_CompositorContext.cpp
        intern/COM_CompositorContext.h
-       intern/COM_ChannelInfo.cpp
-       intern/COM_ChannelInfo.h
        intern/COM_SingleThreadedNodeOperation.cpp
        intern/COM_SingleThreadedNodeOperation.h
        intern/COM_Debug.cpp
diff --git a/source/blender/compositor/COM_defines.h 
b/source/blender/compositor/COM_defines.h
index 6c07aad..f3e224a 100644
--- a/source/blender/compositor/COM_defines.h
+++ b/source/blender/compositor/COM_defines.h
@@ -105,7 +105,9 @@ typedef enum OrderOfChunks {
 
 #define COM_RULE_OF_THIRDS_DIVIDER 100.0f
 
-#define COM_NUMBER_OF_CHANNELS 4
+#define COM_NO_CHANNELS_VALUE 1
+#define COM_NO_CHANNELS_VECTOR 3
+#define COM_NO_CHANNELS_COLOR 4
 
 #define COM_BLUR_BOKEH_PIXELS 512
 
diff --git a/source/blender/compositor/intern/COM_ChannelInfo.cpp 
b/source/blender/compositor/intern/COM_ChannelInfo.cpp
deleted file mode 100644
index 557075c..0000000
--- a/source/blender/compositor/intern/COM_ChannelInfo.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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_ChannelInfo.h"
-#include "COM_defines.h"
-#include <stdio.h>
-
-/**
- * @brief create new ChannelInfo instance and sets the defaults.
- */
-ChannelInfo::ChannelInfo()
-{
-       this->m_number = 0;
-       this->m_premultiplied = true;
-       this->m_type = COM_CT_UNUSED;
-}
diff --git a/source/blender/compositor/intern/COM_ChannelInfo.h 
b/source/blender/compositor/intern/COM_ChannelInfo.h
deleted file mode 100644
index 4466444..0000000
--- a/source/blender/compositor/intern/COM_ChannelInfo.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * 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_ChannelInfo_h
-#define _COM_ChannelInfo_h
-
-#include <vector>
-#include "BKE_text.h"
-#include <string>
-#include "DNA_node_types.h"
-#include "BLI_rect.h"
-
-using namespace std;
-
-/**
- * @brief List of possible channel types
- * @ingroup Model
- */
-typedef enum ChannelType {
-       COM_CT_ColorComponent /** @brief this channel is contains color 
information. Specific used is determined by channelnumber, and in the future 
color space */,
-       COM_CT_Alpha /** @brief this channel is contains transparency value */,
-       COM_CT_Value /** @brief this channel is contains a value */,
-       COM_CT_X /** @brief this channel is contains a X value */,
-       COM_CT_Y /** @brief this channel is contains a Y value */,
-       COM_CT_Z /** @brief this channel is contains a Z value */,
-       COM_CT_W /** @brief this channel is contains a W value */,
-       COM_CT_UNUSED /** @brief this channel is unused */
-} ChannelType;
-
-/**
- * @brief ChannelInfo holds information about a channel.
- *
- * Channels are transported from node to node via a SocketConnection.
- * ChannelInfo holds specific setting of these channels in order that the 
to-node of the connection
- * Can handle specific logic per channel setting.
- *
- * @note currently this is not used, but a future place to implement color 
spacing and other things.
- * @ingroup Model
- */
-class ChannelInfo {
-private:
-       /**
-        * @brief the channel number, in the connection. [0-3]
-        */
-       int m_number;
-
-       /**
-        * @brief type of channel
-        */
-       ChannelType m_type;
-
-       /**
-        * @brieg Is this value in this channel premultiplied with its alpha
-        * @note only valid if type = ColorComponent;
-        */
-       bool m_premultiplied;
-
-//     /**
-//      * Color space of this value.
-//      * only valid when type = ColorComponent;
-//      */
-//     string colorspacename;
-
-public:
-       /**
-        * @brief creates a new ChannelInfo and set default values
-        */
-       ChannelInfo();
-
-       /**
-        * @brief set the index of this channel in the SocketConnection
-        */
-       void setNumber(const int number) { this->m_number = number; }
-
-       /**
-        * @brief get the index of this channel in the SocketConnection
-        */
-       const int getNumber() const { return this->m_number; }
-
-       /**
-        * @brief set the type of channel
-        */
-       void setType(const ChannelType type) { this->m_type = type; }
-
-       /**
-        * @brief get the type of channel
-        */
-       const ChannelType getType() const { return this->m_type; }
-
-       /**
-        * @brief set the premultiplicatioin of this channel
-        */
-       void setPremultiplied(const bool premultiplied) { this->m_premultiplied 
= premultiplied; }
-
-       /**
-        * @brief is this channel premultiplied
-        */
-       const bool isPremultiplied() const { return this->m_premultiplied; }
-};
-
-
-#endif
diff --git a/source/blender/compositor/intern/COM_ExecutionGroup.cpp 
b/source/blender/compositor/intern/COM_ExecutionGroup.cpp
index a2e4e80..a8cd928 100644
--- a/source/blender/compositor/intern/COM_ExecutionGroup.cpp
+++ b/source/blender/compositor/intern/COM_ExecutionGroup.cpp
@@ -416,7 +416,7 @@ MemoryBuffer **ExecutionGroup::getInputBuffersOpenCL(int 
chunkNumber)
 MemoryBuffer *ExecutionGroup::constructConsolidatedMemoryBuffer(MemoryProxy 
*memoryProxy, rcti *rect)
 {
        MemoryBuffer *imageBuffer = memoryProxy->getBuffer();
-       MemoryBuffer *result = new MemoryBuffer(memoryProxy, rect);
+       MemoryBuffer *result = MemoryBuffer::create(memoryProxy, rect);
        result->copyContentFrom(imageBuffer);
        return result;
 }
@@ -509,7 +509,7 @@ MemoryBuffer *ExecutionGroup::allocateOutputBuffer(int 
chunkNumber, rcti *rect)
        NodeOperation *operation = this->getOutputNodeOperation();
        if (operation->isWriteBufferOperation()) {
                WriteBufferOperation *writeOperation = (WriteBufferOperation 
*)operation;
-               MemoryBuffer *buffer = new 
MemoryBuffer(writeOperation->getMemoryProxy(), rect);
+               MemoryBuffer *buffer = 
MemoryBuffer::create(writeOperation->getMemoryProxy(), rect);
                return buffer;
        }
        return NULL;
diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cpp 
b/source/blender/compositor/intern/COM_ExecutionSystem.cpp
index 0882324..7bdec35 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.cpp
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.cpp
@@ -101,7 +101,7 @@ ExecutionSystem::ExecutionSystem(RenderData *rd, Scene 
*scene, bNodeTree *editin
                }
        }
 
-//     DebugInfo::graphviz(this);
+    DebugInfo::graphviz(this);
 }
 
 ExecutionSystem::~ExecutionSystem()
@@ -219,13 +219,13 @@ void 
ExecutionSystem::addReadWriteBufferOperations(NodeOperation *operation)
                                OutputSocket *fromsocket = 
connection->getFromSocket();
                                WriteBufferOperation *writeoperation = 
fromsocket->findAttachedWriteBufferOperation();
                                if (writeoperation == NULL) {
-                                       writeoperation = new 
WriteBufferOperation();
+                                       writeoperation = new 
WriteBufferOperation(fromsocket->getDataType());
                                        
writeoperation->setbNodeTree(this->getContext().getbNodeTree());
                                        this->addOperation(writeoperation);
                                        
ExecutionSystemHelper::addLink(this->getConnections(), fromsocket, 
writeoperation->getInputSocket(0));
                                        
writeoperation->readResolutionFromInputSocket();
                                }
-                               ReadBufferOperation *readoperation = new 
ReadBufferOperation();
+                ReadBufferOperation *readoperation = new 
ReadBufferOperation(fromsocket->getDataType());
                                
readoperation->setMemoryProxy(writeoperation->getMemoryProxy());
                                
connection->setFromSocket(readoperation->getOutputSocket());
                                
readoperation->getOutputSocket()->addConnection(connection);
@@ -256,7 +256,7 @@ void 
ExecutionSystem::addReadWriteBufferOperations(NodeOperation *operation)
                }
                /* if no write buffer operation exists yet, create a new one */
                if (!writeOperation) {
-                       writeOperation = new WriteBufferOperation();
+                       writeOperation = new 
WriteBufferOperation(outputsocket->getDataType());
                        
writeOperation->setbNodeTree(this->getContext().getbNodeTree());
                        this->addOperation(writeOperation);
                        ExecutionSystemHelper::addLink(this->getConnections(), 
outputsocket, writeOperation->getInputSocket(0));
@@ -269,7 +269,7 @@ void 
ExecutionSystem::addReadWriteBufferOperations(NodeOperation *operation)
                        if (connection->getToNode() == writeOperation)
                                continue;
                        
-                       ReadBufferOperation *readoperation = new 
ReadBufferOperation();
+            ReadBufferOperation *readoperation = new 
ReadBufferOperation(outputsocket->getDataType());
                        readop

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to