OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
scenemanager.h
1 /*
2  Copyright (C) 2014 - 2016 Mutzii
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 */
18 //#ifndef SCENEMANAGER_H
19 //#define SCENEMANAGER_H
20 
21 //#include "index.h"
22 //#include "entitymanager.h"
23 //#include "overlaymanager.h"
24 //#include "shadermanager.h"
25 //#include "rendermanager.h"
26 //#include "animationmanager.h"
27 //#include "cameramanager.h"
28 //#include "lightmanager.h"
29 //#include "attributemanager.h"
30 //#include "meshmanager.h"
31 //#include "light.h"
32 
33 //#include "displaymanager.h"
34 //#include "elementmanager.h"
35 
36 //namespace Engine
37 //{
38 // /*!
39 // * Managemant of Scene
40 // *
41 // * - create a FrameBuffer Scene
42 // *
43 // * - create Elements
44 // * - create Entitys
45 // * - create Position
46 // * - create Animation
47 // * - create Shader
48 // * - create Light
49 // * - create Mesh
50 // *
51 // * - attach Objects to Entitys or Elements
52 // * - dettach ( ToDo... )
53 // *
54 // * \brief The SceneManager class
55 // */
56 // class SceneManager
57 // {
58 // private:
59 
60 // static SceneManager * ptrInstance; /*!< SceneManager Instance */
61 
62 // /*!
63 // * Default Constructor
64 // * \brief SceneManager
65 // */
66 // SceneManager();
67 // SceneManager(const SceneManager &){}
68 // void operator=(const SceneManager &){}
69 
70 // public:
71 
72 // //available Shaders
73 // enum
74 // {
75 // SHADER_ANIMATION ,
76 // SHADER_COLOR ,
77 // SHADER_CUBE ,
78 // SHADER_DISPLACE ,
79 // SHADER_FONT ,
80 // SHADER_TEXTURE ,
81 // SHADER_LIGHT ,
82 // SHADER_SHADOW ,
83 // SHADER_POSITION ,
84 // SHADER_SCREEN ,
85 // SHADER_OVERLAY_SCREEN
86 // };
87 
88 // //available Passes
89 // enum
90 // {
91 // PASS_LIGHT ,
92 // PASS_SHADOW
93 // };
94 
95 // /*!
96 // * Return SceneManager Instance
97 // * \brief getSingletonPtr
98 // * \return
99 // */
100 // static SceneManager * getSingletonPtr();
101 
102 // /* NEW */
103 
104 // /*!
105 // * Create Managers
106 // * \brief initialize
107 // */
108 // void initialize(void);
109 
110 // /*!
111 // * Create a Entity
112 // * \brief createEntity
113 // * \return
114 // */
115 // Entity * createEntity( void );
116 
117 // /*!
118 // * Create a Element
119 // * \brief createElement
120 // * \return
121 // */
122 // Element * createElement( void );
123 
124 // /*!
125 // * Create a Light
126 // * \brief createLight
127 // * \param light_name
128 // * \return
129 // */
130 // Light * createLight ( const std::string & light_name );
131 
132 // /*!
133 // * Create a Shader
134 // * \brief createShader
135 // * \param shader_name
136 // * \return
137 // */
138 // IShader * createShader( const std::string & shader_name );
139 
140 // /*!
141 // * Create a Mesh
142 // * \brief createMesh
143 // * \param resource_file
144 // * \return
145 // */
146 // Mesh * createMesh ( const std::string & resource_file );
147 // Mesh * createNewMesh( const std::string & resource_file );
148 
149 // /*!
150 // * Create a Position
151 // * \brief createPosition
152 // * \return
153 // */
154 // Position * createPosition(void);
155 
156 // /*!
157 // * Add a Shader Source to Empty Shader Object
158 // * \brief addSource
159 // * \param shader
160 // * \param enum_id
161 // */
162 // void addSource ( IShader * shader , uint enum_shader_id );
163 // void addSourceARB( IShader * shader , uint enum_shader_id );
164 
165 
166 // /* ATTACH */
167 
168 // /*!
169 // * Attach a Component to Entity
170 // * \brief attach
171 // * \param entity
172 // * \param store
173 // */
174 // void attach( Entity * entity , IComponent<Entity> * com );
175 
176 // /*!
177 // * Attach a Component to Element
178 // * \brief attach
179 // * \param element
180 // * \param store
181 // */
182 // void attach( Element * element , IComponent<Element> * com );
183 
184 // /*!
185 // * Dettach Store from Element
186 // * \brief dettach
187 // * \param component_id
188 // */
189 // void dettach( uint component_id );
190 // };
191 
192 //}
193 
194 //#endif // SCENEMANAGER_H