Changeset 8495 in orxonox.OLD for trunk/src/lib/graphics/effects/fog_effect.h
- Timestamp:
- Jun 15, 2006, 9:50:56 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/graphics/effects/fog_effect.h
r8362 r8495 6 6 #define _FOG_EFFECT 7 7 8 #include "vector.h"9 8 10 9 #include "weather_effect.h" 11 10 #include "glincl.h" 11 #include "vector.h" 12 13 class FogEffect : public WeatherEffect { 14 public: 15 FogEffect(const TiXmlElement* root = NULL); 16 virtual ~FogEffect(); 17 18 virtual void loadParams(const TiXmlElement* root); 19 20 virtual void init(); 21 22 virtual void activate(); 23 virtual void deactivate(); 24 25 void activateFog() { 26 this->activate(); 27 } 28 void deactivateFog() { 29 this->deactivate(); 30 } 31 32 virtual void draw() const; 33 virtual void tick(float dt); 34 35 inline void setFogMode(const std::string& mode) { 36 this->fogMode = this->stringToFogMode(mode); 37 } 38 inline void setFogDensity(float density) { 39 this->fogDensity = density; 40 } 41 inline void setFogRange(float start, float end) { 42 this->fogStart = start; 43 this->fogEnd = end; 44 } 45 inline void setFogColor(float r, float g, float b) { 46 this->colorVector = Vector(r, g, b); 47 } 48 inline void setFogFadeIn(float fadein) { 49 this->fogFadeInDuration = fadein; 50 } 51 inline void setFogFadeOut(float fadeout) { 52 this->fogFadeOutDuration = fadeout; 53 } 54 55 inline void setFogOption(const std::string& option) { 56 if (option == "activate") 57 this->fogActivate = true; 58 } 59 60 void fadeInFog(); 61 void fadeOutFog(); 12 62 13 63 14 class FogEffect : public WeatherEffect 15 { 16 public: 17 FogEffect(const TiXmlElement* root = NULL); 18 virtual ~FogEffect(); 64 private: 65 GLint stringToFogMode(const std::string& mode); 19 66 20 virtual void loadParams(const TiXmlElement* root);67 bool fogActivate; 21 68 22 virtual bool init(); 69 bool fogFadeInActivate; 70 bool fogFadeOutActivate; 23 71 24 virtual bool activate();25 virtual bool deactivate();72 GLfloat fogFadeInDuration; 73 GLfloat fogFadeOutDuration; 26 74 27 void activateFog() { this->activate(); } 28 void deactivateFog() { this->deactivate(); } 75 float localTimer; 29 76 30 virtual void draw() const; 31 virtual void tick(float dt); 77 GLint fogMode; 78 GLfloat fogDensity; 79 GLfloat fogFadeDensity; 32 80 33 inline void setFogMode(const std::string& mode) { this->fogMode = this->stringToFogMode(mode); } 34 inline void setFogDensity(float density) { this->fogDensity = density; } 35 inline void setFogRange(float start, float end) { this->fogStart = start; this->fogEnd = end; } 36 inline void setFogColor(float r, float g, float b) { this->colorVector = Vector(r, g, b); } 37 inline void setFogOption(const std::string& option) { if (option == "activate") this->fogActivate = true; } 38 39 void startFogging(); 40 41 private: 42 GLint stringToFogMode(const std::string& mode); 43 44 bool fogActivate; 45 GLfloat fogFadeDuration; 46 float localTimer; 47 48 GLint fogMode; 49 GLfloat fogDensity; 50 GLfloat fogFadeDensity; 51 52 GLfloat fogStart; 53 GLfloat fogEnd; 54 Vector colorVector; 81 GLfloat fogStart; 82 GLfloat fogEnd; 83 Vector colorVector; 55 84 }; 56 85
Note: See TracChangeset
for help on using the changeset viewer.