#include <Scene.h>
Inheritance diagram for Scene:
Public Member Functions | |
Scene () | |
~Scene () | |
virtual void | Init () |
void | Render (int time, int culling_mode, bool level_of_detail) |
void | Monitor (int time, Camera *monitor, int culling_mode, bool level_of_detail) |
void | CopyPosition (int time, Camera *destination) |
void | PrintToConsole () |
Protected Member Functions | |
void | AddObject (GraphicalObject *obj) |
void | AddLight (Light *light) |
Protected Attributes | |
Camera * | camera |
Private Types | |
typedef Scene::GraphicalObjectElem | GraphicalObjectList |
typedef Scene::LightElem | LightList |
Private Member Functions | |
void | NextLightId () |
void | TurnOffLights () |
void | ApplyLights (int time) |
Private Attributes | |
GraphicalObjectList * | first_object |
GraphicalObject * | camera_object |
LightList * | first_light |
int | current_light_id |
Classes | |
struct | GraphicalObjectElem |
struct | LightElem |
A Scene is a part of a demo. It consists of one camera used to capture the scene, a set of lights used to illuminate the scene and a set of objects which make up the environment of the scene. A Scene is an abstract class, which means that every descendant that implements a scene has to implement the way the scene is initialized (built). This initialization routine will be called when the demo which the scene belongs to gets initialized.
Definition at line 22 of file Scene.h.
|
Data structure to hold the graphical objects. |
|
Data structure to hold the lights of the scene. |
|
Constructor: Brings the object into a consistent state. |
|
Destructor. |
|
Adds a light to the scene.
|
|
Adds an object to the scene.
|
|
Applies all the lights of the scene at any given time.
|
|
Copies the position of the camera that belongs to the scene at a specific time to the camera object passed as a pointer.
|
|
Abstract function to initialize the scene that has to be implemented by the descendants. This function gets called by the demo to which the scene belongs to. Reimplemented in GroupCullingScene, LandscapeScene, TestScene, and TorusScene. |
|
Monitors the scene at any given time using a monitorning camera.
|
|
Sets the 'current_light_id' to the next available OpenGL light identifier, provided that there is one available. |
|
Prints information about the scene to the console. |
|
Renders the scene at any given time.
|
|
Disables all lights that are not in used by this scene. |
|
The camera that captures the scene. |
|
Camera representation during monitor mode. |
|
Current OpenGL light identifier. |
|
The list containing the lights. |
|
The list containing the graphical objects. |