Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 1, 2006, 4:15:34 PM (18 years ago)
Author:
amaechler
Message:

branches/atmospheric_engine: cloud hacking

File:
1 edited

Legend:

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

    r8052 r8079  
    66#define _CLOUD_EFFECT
    77
    8 #include "vector.h"
    9 #include "vector2D.h"
    10 
    118#include "weather_effect.h"
    129
     
    1411#include "sound_source.h"
    1512
     13#include "world_entity.h"
     14#include "glincl.h"
     15
    1616class Material;
    17 
     17class Vector;
    1818
    1919class CloudEffect : public WeatherEffect
     
    3333                virtual void tick(float dt);
    3434
    35                 inline void setCloudAnimation(float timestep) { this->cloudAnimTimeStep = timestep; }
     35                void setRadius(float radius);
     36                void setTexture(char* fileName);
     37
    3638
    3739        private:
    38                 // Basic noise maps 32x32
    39                 float                                                                                                           cloudMap32_a[32 * 32];
    40                 float                                                                                                           cloudMap32_b[32 * 32];
    41                 float                                                                                                           cloudMap32_c[32 * 32];
     40                void initialize(char* fileName);
    4241
    43                 // The cloud map 256x256
    44                 float                                                                                                           cloudMap256[256 * 256];
     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;
    4548
    46                 // Temporary array to hold texture RGB values
    47                 char                                                                                                                    cloudTexture[256][256][3];
    48 
    49                 GLuint                                                                                                          texID[2];
    50                 float                                                                                                           timer;
    51 
    52                 bool                                                                                                                    cloudAnimTimeStep;
    53 
    54                 float                                                                                                           noise(int x, int y, int random);
    55                 float                                                                                                           interpolate(float x, float y, float  *map);
    56                 void                                                                                                            overlapOctaves();
    57                 void                                                                                                            expFilter();
    58 
    59                 void                                                                                                            genNoiseMap(float  *map);
    60                 void                                                                                                            genCloudTexture();
    61                 void                                                                                                            calcAnimMap(float timer);
    62                 Material*       material;
     49                inline void setCloudTexture(const std::string& file) { this->cloudTexture = file; }
     50                inline void setCloudAnimation(float speed) { this->cloudSpeed = speed; }
    6351
    6452};
Note: See TracChangeset for help on using the changeset viewer.