#ifndef _NEWCLOUD_HXX
#define _NEWCLOUD_HXX
-#include <plib/sg.h>
#include <simgear/compiler.h>
#include <string>
#include <vector>
#include <osg/Fog>
-#include "bbcache.hxx"
+#include <simgear/scene/material/Effect.hxx>
+#include <simgear/scene/material/EffectGeode.hxx>
using std::string;
using std::vector;
class SGNewCloud {
public:
- SGNewCloud(const SGPath &tex_path,
+ SGNewCloud(string type,
+ const SGPath &tex_path,
string tex,
double min_w,
double max_w,
int n,
int nt_x,
int nt_y);
-
- ~SGNewCloud();
+
+ ~SGNewCloud();
// Generate a Cloud
- osg::ref_ptr<osg::LOD> genCloud ();
+ osg::ref_ptr<simgear::EffectGeode> genCloud ();
+
+ static double getDensity(void)
+ {
+ return sprite_density;
+ }
+
+ // Set the sprite density
+ static void setDensity(double d)
+ {
+ sprite_density = d;
+ }
+
private:
int num_textures_x;
int num_textures_y;
const string texture;
-
- osg::ref_ptr<osg::StateSet> stateSet;
+ const string name;
+ osg::Geometry* quad;
+ osg::ref_ptr<simgear::Effect> effect;
+ static double sprite_density;
-public:
+ osg::Geometry* createOrthQuad(float w, float h, int varieties_x, int varieties_y);
};
+
#endif // _NEWCLOUD_HXX