00001 00002 00003 #ifndef SKYBOX_H 00004 #define SKYBOX_H 00005 00006 00007 #include "Sky.h" 00008 #include "Vector3f.h" 00009 00010 #include <string> 00011 00012 00013 namespace pge { 00014 00015 00016 class Sprite; 00017 class Texture; 00018 00019 00020 class SkyBox : public ISky { 00021 00022 public: 00023 //************************************************************************ 00024 // 00025 // Constructor 00026 // 00027 //************************************************************************ 00029 SkyBox(const std::string &skyPrefix, float size); 00030 00031 00032 //************************************************************************ 00033 // 00034 // Destructor 00035 // 00036 //************************************************************************ 00038 virtual ~SkyBox(void); 00039 00040 00041 //************************************************************************ 00042 // 00043 // Functions 00044 // 00045 //************************************************************************ 00046 bool init(void); 00047 void render(void); 00048 void timer(unsigned int delay); 00049 00050 00051 private: 00052 //************************************************************************ 00053 // 00054 // Functions 00055 // 00056 //************************************************************************ 00057 00058 00059 //************************************************************************ 00060 // 00061 // Variables 00062 // 00063 //************************************************************************ 00064 Texture *m_skyFront; 00065 Texture *m_skyBack; 00066 Texture *m_skyLeft; 00067 Texture *m_skyRight; 00068 Texture *m_skyBottom; 00069 Texture *m_skyTop; 00070 00071 Sprite *m_front; 00072 Sprite *m_back; 00073 Sprite *m_left; 00074 Sprite *m_right; 00075 Sprite *m_bottom; 00076 Sprite *m_top; 00077 00078 Vector3f m_frontTopLeft; 00079 Vector3f m_frontTopRight; 00080 Vector3f m_frontBottomLeft; 00081 Vector3f m_frontBottomRight; 00082 Vector3f m_backTopLeft; 00083 Vector3f m_backTopRight; 00084 Vector3f m_backBottomLeft; 00085 Vector3f m_backBottomRight; 00086 00087 float m_size; 00088 }; 00089 }; 00090 00091 #endif