#ifndef SCENE_H #define SCENE_H class SceneNode; class Scene { public: Scene(); void update(); void render(); private: SceneNode* m_sceneNodeTree; }; class SceneNode { public: SceneNode(); virtual void update(); private: SceneNode* m_parentNode; }; class CameraSceneNode : public SceneNode { }; class LightSceneNode : public SceneNode { }; class TerrainSceneNode: public SceneNode { }; class ObjectSceneNode : public SceneNode { }; #endif // SCENE_H