Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8495 in orxonox.OLD for trunk/src/lib/graphics/effects/fog_effect.h


Ignore:
Timestamp:
Jun 15, 2006, 9:50:56 PM (19 years ago)
Author:
bensch
Message:

merged the branche atmos back. no conflicts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/graphics/effects/fog_effect.h

    r8362 r8495  
    66#define _FOG_EFFECT
    77
    8 #include "vector.h"
    98
    109#include "weather_effect.h"
    1110#include "glincl.h"
     11#include "vector.h"
     12
     13class FogEffect : public WeatherEffect {
     14public:
     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();
    1262
    1363
    14 class FogEffect : public WeatherEffect
    15 {
    16         public:
    17                 FogEffect(const TiXmlElement* root = NULL);
    18                 virtual ~FogEffect();
     64private:
     65    GLint stringToFogMode(const std::string& mode);
    1966
    20                 virtual void loadParams(const TiXmlElement* root);
     67    bool          fogActivate;
    2168
    22                 virtual bool init();
     69    bool          fogFadeInActivate;
     70    bool          fogFadeOutActivate;
    2371
    24                 virtual bool activate();
    25                 virtual bool deactivate();
     72    GLfloat       fogFadeInDuration;
     73    GLfloat       fogFadeOutDuration;
    2674
    27                 void activateFog() { this->activate(); }
    28                 void deactivateFog() { this->deactivate(); }
     75    float         localTimer;
    2976
    30                 virtual void draw() const;
    31                 virtual void tick(float dt);
     77    GLint         fogMode;
     78    GLfloat       fogDensity;
     79    GLfloat       fogFadeDensity;
    3280
    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;
    5584};
    5685
Note: See TracChangeset for help on using the changeset viewer.