Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h @ 8471

Last change on this file since 8471 was 8457, checked in by amaechler, 18 years ago

atmospheric: void etc bugfixes

File size: 1.2 KB
Line 
1/**
2* @file cloud_effect.h
3*/
4
5#ifndef _CLOUD_EFFECT
6#define _CLOUD_EFFECT
7
8#include "weather_effect.h"
9
10#include "sound_buffer.h"
11#include "sound_source.h"
12
13#include "world_entity.h"
14#include "glincl.h"
15
16#include "sglmodel.h"
17
18class Shader;
19class Material;
20class Vector;
21
22class CloudEffect : public WeatherEffect {
23public:
24    CloudEffect(const TiXmlElement* root = NULL);
25    virtual ~CloudEffect();
26
27    virtual void loadParams(const TiXmlElement* root);
28
29    virtual void init();
30
31    virtual void activate();
32    virtual void deactivate();
33
34    inline void activateCloud() {
35        this->activate();
36    }
37    inline void deactivateCloud() {
38        this->deactivate();
39    }
40
41    virtual void draw() const;
42    virtual void tick(float dt);
43
44    inline void setCloudOption(const std::string& option) {
45        if (option == "activate")
46            this->cloudActivate = true;
47    }
48
49
50private:
51    void initialize(char* fileName);
52
53    bool        cloudActivate;
54
55    Material*     cloudMaterial;    // A Material for the Sphere.
56
57    std::string     cloudTexture;
58
59    Sglmodel_sgl      cloudModel;
60    Shader*       cloudShader;
61
62    GLfloat       cloudTint[4];
63    GLfloat       cloudScroll;
64
65    float       time;
66
67};
68
69#endif  /* _CLOUD_EFFECT */
Note: See TracBrowser for help on using the repository browser.