Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 24, 2006, 3:35:07 PM (19 years ago)
Author:
amaechler
Message:

branches/atmospheric_engine: rainsound fade working and comments

File:
1 edited

Legend:

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

    r8716 r8771  
    11/**
    2 * @file fog_effect.h
     2 * @file fog_effect.h
     3 * Generates simple openGL fog
    34*/
    45
     
    1011#include "vector.h"
    1112
    12 class FogEffect : public WeatherEffect {
     13class FogEffect : public WeatherEffect
     14{
    1315public:
    14     FogEffect(const TiXmlElement* root = NULL);
    15     virtual ~FogEffect();
     16  FogEffect(const TiXmlElement* root = NULL);
     17  virtual ~FogEffect();
    1618
    17     virtual void loadParams(const TiXmlElement* root);
     19  virtual void loadParams(const TiXmlElement* root);
    1820
    19     virtual void init();
     21  virtual void init();
    2022
    21     virtual void activate();
    22     virtual void deactivate();
     23  virtual void activate();
     24  virtual void deactivate();
    2325
    24     void activateFog() {
    25         this->activate();
    26     }
    27     void deactivateFog() {
    28         this->deactivate();
    29     }
     26  void activateFog()
     27  {
     28    this->activate();
     29  }
    3030
    31     virtual void draw() const;
    32     virtual void tick(float dt);
     31  void deactivateFog()
     32  {
     33    this->deactivate();
     34  }
    3335
    34     inline void setFogMode(const std::string& mode) {
    35         this->fogMode = this->stringToFogMode(mode);
    36     }
    37     inline void setFogDensity(float density) {
    38         this->fogDensity = density;
    39     }
    40     inline void setFogRange(float start, float end) {
    41         this->fogStart = start;
    42         this->fogEnd = end;
    43     }
    44     inline void setFogColor(float r, float g, float b) {
    45         this->colorVector = Vector(r, g, b);
    46     }
    47     inline void setFogFadeIn(float fadein) {
    48         this->fogFadeInDuration = fadein;
    49     }
    50     inline void setFogFadeOut(float fadeout) {
    51         this->fogFadeOutDuration = fadeout;
    52     }
     36  virtual void draw() const;
     37  virtual void tick(float dt);
    5338
    54     inline void setFogOption(const std::string& option) {
    55         if (option == "activate")
    56             this->fogActivate = true;
    57     }
     39  inline void setFogMode(const std::string& mode)
     40  {
     41    this->fogMode = this->stringToFogMode(mode);
     42  }
    5843
    59     void fadeInFog();
    60     void fadeOutFog();
     44  inline void setFogDensity(float density)
     45  {
     46    this->fogDensity = density;
     47  }
     48
     49  inline void setFogRange(float start, float end)
     50  {
     51    this->fogStart = start;
     52    this->fogEnd = end;
     53  }
     54
     55  inline void setFogColor(float r, float g, float b)
     56  {
     57    this->colorVector = Vector(r, g, b);
     58  }
     59
     60  inline void setFogFadeIn(float fadein)
     61  {
     62    this->fogFadeInDuration = fadein;
     63  }
     64
     65  inline void setFogFadeOut(float fadeout)
     66  {
     67    this->fogFadeOutDuration = fadeout;
     68  }
     69
     70  inline void setFogOption(const std::string& option)
     71  {
     72    if (option == "activate")
     73      this->fogActivate = true;
     74  }
     75
     76  void fadeInFog();
     77  void fadeOutFog();
    6178
    6279
    6380private:
    64     inline GLint stringToFogMode(const std::string& mode) {
    65         if(mode == "GL_LINEAR")
    66             return GL_LINEAR;
    67         else if(mode == "GL_EXP")
    68             return GL_EXP;
    69         else if(mode == "GL_EXP2" )
    70             return GL_EXP2;
    71         else
    72             return -1;
    73     }
     81  inline GLint stringToFogMode(const std::string& mode)
     82  {
     83    if(mode == "GL_LINEAR")
     84      return GL_LINEAR;
     85    else if(mode == "GL_EXP")
     86      return GL_EXP;
     87    else if(mode == "GL_EXP2" )
     88      return GL_EXP2;
     89    else
     90      return -1;
     91  }
    7492
    75     bool          fogActivate;
     93  bool          fogActivate;
    7694
    77     bool          fogFadeInActivate;
    78     bool          fogFadeOutActivate;
     95  bool          fogFadeInActivate;
     96  bool          fogFadeOutActivate;
    7997
    80     GLfloat       fogFadeInDuration;
    81     GLfloat       fogFadeOutDuration;
     98  GLfloat       fogFadeInDuration;
     99  GLfloat       fogFadeOutDuration;
    82100
    83     float         localTimer;
     101  GLint         fogMode;
     102  GLfloat       fogDensity;
     103  GLfloat       fogFadeDensity;
    84104
    85     GLint         fogMode;
    86     GLfloat       fogDensity;
    87     GLfloat       fogFadeDensity;
     105  GLfloat       fogStart;
     106  GLfloat       fogEnd;
     107  GLfloat       fogFadeEnd;
    88108
    89     GLfloat       fogStart;
    90     GLfloat       fogEnd;
    91     GLfloat       fogFadeEnd;
    92 
    93     Vector        colorVector;
     109  Vector        colorVector;
     110  float         localTimer;
    94111};
    95112
    96 
    97113#endif  /* _FOG_EFFECT */
Note: See TracChangeset for help on using the changeset viewer.