Frapper  1.0a
LightWarpingNode.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 Copyright (c) 2008-2009 Filmakademie Baden-Wuerttemberg, Institute of Animation
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU Lesser General Public License as published by the Free Software
7 Foundation; version 2.1 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
12 
13 You should have received a copy of the GNU Lesser General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
16 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
17 -----------------------------------------------------------------------------
18 */
19 
30 
31 
32 #ifndef LIGHTWARPINGNODE_H
33 #define LIGHTWARPINGNODE_H
34 
35 #include "CompositorNode.h"
36 #include "InstanceCounterMacros.h"
37 
38 namespace LightWarpingNode {
39 using namespace Frapper;
40 
45 {
46 
47  Q_OBJECT
49 
50 public: // constructors and destructors
51 
58  LightWarpingNode ( const QString &name, ParameterGroup *parameterRoot );
59 
67  virtual ~LightWarpingNode ();
68 
69 protected: // functions
70 
77  virtual void notifyMaterialRender(Ogre::uint32 pass_id, Ogre::MaterialPtr &mat);
78 
79 public:
83  void redrawTriggered ();
84 
85 private slots:
86 
90  void processOutputImage ();
91 
100  bool loadLightDescriptionFile ();
101 
102 public: // members
103 
104  Ogre::TexturePtr m_lightDirsTexture;
105  Ogre::TexturePtr m_lightPowsTexture;
106 
107 };
108 
109 } // namespace LightWarpingNode
110 
111 #endif