scg3  0.6
scg3.h
Go to the documentation of this file.
1 
11 /*
12  * Copyright 2014-2019 Volker Ahlers
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License");
15  * you may not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  * http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS,
22  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  */
26 
27 #ifndef SCG3_H_
28 #define SCG3_H_
29 
223 #include "src/scg_glew.h"
224 #include <GLFW/glfw3.h>
225 
226 #include "src/Animation.h"
227 #include "src/BumpMapCore.h"
228 #include "src/Camera.h"
229 #include "src/CameraController.h"
230 #include "src/ColorCore.h"
231 #include "src/Composite.h"
232 #include "src/Controller.h"
233 #include "src/Core.h"
234 #include "src/CubeMapCore.h"
235 #include "src/GeometryCore.h"
236 #include "src/GeometryCoreFactory.h"
237 #include "src/Group.h"
238 #include "src/InfoTraverser.h"
239 #include "src/KeyboardController.h"
240 #include "src/Leaf.h"
241 #include "src/Light.h"
242 #include "src/LightPosition.h"
243 #include "src/MaterialCore.h"
244 #include "src/MouseController.h"
245 #include "src/Node.h"
246 #include "src/OrthographicCamera.h"
247 #include "src/PerspectiveCamera.h"
248 #include "src/PreTraverser.h"
249 #include "src/Renderer.h"
250 #include "src/RenderState.h"
251 #include "src/RenderTraverser.h"
252 #include "src/scg_glm.h"
253 #include "src/scg_internals.h"
254 #include "src/scg_stb_image.h"
255 #include "src/scg_utilities.h"
256 #include "src/ShaderCore.h"
257 #include "src/ShaderCoreFactory.h"
258 #include "src/Shape.h"
259 #include "src/StandardRenderer.h"
260 #include "src/Texture2DCore.h"
261 #include "src/TextureCore.h"
262 #include "src/TextureCoreFactory.h"
263 #include "src/TransformAnimation.h"
264 #include "src/Transformation.h"
265 #include "src/Traverser.h"
266 #include "src/Viewer.h"
267 #include "src/ViewState.h"
268 
269 #endif /* SCG3_H_ */
Bump map core storing a texture (optional) and a normal map.
A factory to create geometry cores.
A shape node that contains geometry to be rendered (leaf node).
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract).
Base class for all leaf nodes, i.e., nodes without children (composite pattern, abstract).
A core to set a vertex color or a color transformation to be applied to subsequent geometry.
A factory to create textures.
A traverser that renders the scene graph (visitor pattern).
A group node to be used as root of a sub-tree of nodes (composite node).
Base class for all renderers (abstract).
Local header file for GLM OpenGL Mathematics library.
A camera controller using keyboard input.
A traverser that searches Camera and LightPosition nodes in the scene graph (visitor pattern).
A factory to create shader cores.
The view state of the application, managed by Viewer and accessible by Controller::checkInput() (or d...
Base class for all controllers (abstract).
A core that contains geometry information to be rendered.
A light to be applied to all nodes of its sub-tree (composite node).
A transformation node to be used to appy a transformation to the sub-tree (composite node).
An animation that creates a transformation to be applied to ist sub-tree (composite node).
Utility functions that are used by different classes.
Local header file for stb_image library.
Local header file for GLEW library.
Base class for all nodes (composite pattern, abstract).
Base class for all texture cores (abstract).
Base class for all animations (abstract), providing general functionality.
2D texture core.
The central render state that collects information about the current shader, transformations,...
A core to set a shader program to be applied to subsequent nodes.
A standard renderer that uses a PreTraverser, a RenderTraverser, and an InfoTraverser.
A light position node to define the position of an associated light within the scene graph (leaf node...
A core to set material properties for lighting to be applied to subsequent geometry.
Base class for all camera controllers, acting on a Camera node (abstract).
Base class for all traversers (visitor pattern, abstract).
Cube map texture core.
Base class for all cameras (leaf node, abstract).
A camera controller using mouse input.
A camera with perspective projection (leaf node).
Central viewer managing window, controllers, animations, and main loop.
Internal definitions required by most classes.
Base class for all cores (abstract).
A camera with orthographic projection(leaf node).
A traverser that gathers information about the scene graph (visitor pattern).