Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/skysphere.h @ 3458

Last change on this file since 3458 was 3420, checked in by bensch, 20 years ago

orxonox/trunk: skysphere: some new functionality.
now size and texture can be set externaly, but also get a default value:
radius: 200.0
texture: "../data/pictures/sky-replace.jpg"

File size: 1.1 KB
RevLine 
[3416]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
[3412]12#ifndef _SKYSPHERE_H
13#define _SKYSPHERE_H
[3416]14
[3419]15/* INCLUDES */
[3411]16#include "p_node.h"
17
[3419]18/* FORWARD DEFINITION */
19class Material;
20class Vector;
21
[3416]22//! A Class to handle a SkySphere
[3411]23class Skysphere: public PNode
24{
[3416]25 private: 
[3420]26  GLUquadricObj *sphereObj; //!< A Placeholder for the SkySphere.
27  Material *skyMaterial;    //!< A Material for the SkySphere.
28  Vector sphereCenter;      //!< Center of the SkySphere.
29  float sphereRadius;       //!< Radius of the SkySphere. This should match the frustum maximum range.
30
[3416]31 public:
32  Skysphere();
[3419]33  Skysphere(char* fileName);
[3416]34  ~Skysphere();
[3419]35
[3420]36  void setRadius(float radius);
37  void setTexture(char* fileName);
38
[3419]39  void updatePosition(Vector sphereCenter);
[3416]40  void draw();
[3419]41
42 private:
43  void initialize(char* fileName); 
[3411]44};
45
46#endif
47
48
Note: See TracBrowser for help on using the repository browser.