Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entities/skybox.h @ 4597

Last change on this file since 4597 was 4597, checked in by bensch, 19 years ago

orxonox/trunk: setClassID implemented in all files

File size: 1.5 KB
Line 
1/*!
2    \file skybox.h
3    \brief Definition of the SkyBox, that handles the Display of an atmosphere for orxonox.
4
5    A SkyBox is always centered at the current working Camera, and will only obey the cameras
6    movment but not its rotation.
7*/
8
9#ifndef _SKYBOX_H
10#define _SKYBOX_H
11
12/* INCLUDES */
13#include "world_entity.h"
14
15/* FORWARD DEFINITION */
16class Material;
17class Vector;
18
19//! A Class to handle a SkyBox
20class SkyBox : public WorldEntity
21{
22 public:
23  SkyBox(const char* fileName = NULL);
24  SkyBox(const TiXmlElement* root);
25
26  virtual ~SkyBox();
27
28  void loadParams(const TiXmlElement* root);
29
30  void preInit(void);
31  void postInit(void);
32
33
34  void setSize(float size);
35  /** \brief assumes jpg as input-format */
36  void setTexture(const char* name) { setTextureAndType (name, "jpg");};
37  void setTextureAndType(const char* name, const char* extension);
38  void setTextures(const char* top, const char* bottom, const char* left, const char* right, const char* front, const char* back);
39
40  virtual void draw();
41
42 private:
43  void rebuild();
44
45  Model*          skyModel;        //!< A Model for the Sky. This must not be the same as the Model from WorldEntity, because it is not alocated through the ResourceManager.
46  Material**      material;        //!< Materials for the SkyBox. sorted by number (0-5) top, bottom, left, right, front, back
47  float           size;            //!< Size of the SkyBox. This should match the frustum maximum range.
48
49};
50
51#endif  /* _SKYBOX_H */
52
53
54
Note: See TracBrowser for help on using the repository browser.