Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk: more optimizations of the Quaternion Class.
Now the 3D-rotation is much faster through this code:

Vector tmpRot = this→getAbsDir().getSpacialAxis();
glRotatef (this→getAbsDir().getSpacialAxisAngle(), tmpRot.x, tmpRot.y, tmpRot.z );

instead of the old Matrix-approach. furthermore glRotate is optimized much better in openGL as is clearly stated in the red book

also implemented some other really useless functions for Quaternion

File size: 1.3 KB
Line 
1/*!
2    \file skybox.h
3  *  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 preInit();
29
30  void loadParams(const TiXmlElement* root);
31
32  void postInit();
33
34
35  void setSize(float size);
36  /** assumes jpg as input-format */
37  void setTexture(const char* name) { setTextureAndType (name, "jpg"); };
38
39  void setTextureAndType(const char* name, const char* extension);
40  void setTextures(const char* top, const char* bottom, const char* left,
41                   const char* right, const char* front, const char* back);
42
43 private:
44  void rebuild();
45
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.