00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef STARFIELD_H
00022 #define STARFIELD_H
00023
00024 #include "CaelumPrerequisites.h"
00025 #include "CameraBoundElement.h"
00026
00027 namespace caelum {
00028
00032 class CAELUM_EXPORT ImageStarfield : public CameraBoundElement {
00033
00034 protected:
00037 Ogre::SceneNode *mNode;
00038
00041 static const Ogre::String STARFIELD_DOME_NAME;
00042
00045 static const Ogre::String STARFIELD_MATERIAL_NAME;
00046
00049 Ogre::MaterialPtr mStarfieldMaterial;
00050
00053 Ogre::Degree mInclination;
00054
00055
00056 public:
00060 ImageStarfield (
00061 Ogre::SceneManager *sceneMgr,
00062 Ogre::SceneNode *caelumRootNode,
00063 const Ogre::String &textureName = "ImageStarfield.jpg");
00064
00067 virtual ~ImageStarfield ();
00068
00072 void setInclination (Ogre::Degree inc);
00073
00077 void update (const float time);
00078
00082 void setTexture (const Ogre::String &mapName);
00083
00084 public:
00086 virtual void notifyCameraChanged (Ogre::Camera *cam);
00087
00088 protected:
00090 virtual void setFarRadius (Ogre::Real radius);
00091 };
00092
00093 }
00094
00095 #endif //STARFIELD_H