Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 8084 was 8079, checked in by amaechler, 19 years ago

branches/atmospheric_engine: cloud hacking

File size: 1.1 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
16class Material;
17class Vector;
18
19class CloudEffect : public WeatherEffect
20{
21        public:
22                CloudEffect(const TiXmlElement* root = NULL);
23                virtual ~CloudEffect();
24
25                virtual void loadParams(const TiXmlElement* root);
26
27                virtual bool init();
28
29                virtual bool activate();
30                virtual bool deactivate();
31
32                virtual void draw() const;
33                virtual void tick(float dt);
34
35                void setRadius(float radius);
36                void setTexture(char* fileName);
37
38
39        private:
40                void initialize(char* fileName);
41
42                GLUquadricObj*                  sphereObj;                                                      // A Placeholder for the SkySphere.
43                Material*                                               cloudMaterial;                                  // A Material for the SkySphere.
44                float                                                           sphereRadius;                                           // Radius of the SkySphere.
45                float                                                   mover;
46                float                                                           cloudSpeed;
47                std::string                             cloudTexture;
48
49                inline void setCloudTexture(const std::string& file) { this->cloudTexture = file; }
50                inline void setCloudAnimation(float speed) { this->cloudSpeed = speed; }
51
52};
53
54#endif  /* _CLOUD_EFFECT */
Note: See TracBrowser for help on using the repository browser.