Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entities/skysphere.h @ 3502

Last change on this file since 3502 was 3502, checked in by patrick, 19 years ago

orxonox/trunk: changed Skysphere to WorldEntity

File size: 1.1 KB
Line 
1/*!
2    \file skysphere.h
3    \brief Definition of the Skysphere, that handles the Display of an atmosphere of orxonox.
4
5    A SkySphere is always centered at the current working Camera, and will only obey the cameras
6    movment but not its rotation.
7
8    \todo self-rotation
9    \todo handle reference to parent-object
10*/
11
12#ifndef _SKYSPHERE_H
13#define _SKYSPHERE_H
14
15/* INCLUDES */
16#include "p_node.h"
17#include "world_entity.h"
18
19/* FORWARD DEFINITION */
20class Material;
21class Vector;
22
23//! A Class to handle a SkySphere
24class Skysphere : public WorldEntity
25{
26
27 public:
28  Skysphere();
29  Skysphere(char* fileName);
30  ~Skysphere();
31
32  void setRadius(float radius);
33  void setTexture(char* fileName);
34
35  void updatePosition(Vector sphereCenter);
36
37  virtual void draw();
38  virtual void tick(float time);
39
40 private: 
41  GLUquadricObj *sphereObj; //!< A Placeholder for the SkySphere.
42  Material *skyMaterial;    //!< A Material for the SkySphere.
43
44  Vector sphereCenter;      //!< Center of the SkySphere.
45  float sphereRadius;       //!< Radius of the SkySphere. This should match the frustum maximum range.
46
47
48  void initialize(char* fileName); 
49};
50
51#endif  /* _SKYSPHERE_H */
52
53
54
Note: See TracBrowser for help on using the repository browser.