9 #ifndef _VRECKO_CLOUDS_CLOUD_H
10 #define _VRECKO_CLOUDS_CLOUD_H
13 #include <osg/Geometry>
14 #include <osg/Texture2D>
26 #define PI 3.1415926535
81 osg::ref_ptr<osg::Geometry> cloudGeometry;
82 osg::ref_ptr<osg::StateSet> cloudState;
88 static osg::Vec3f cameraPosition, cameraView, cameraUp;
89 static osg::Matrix viewMatrix;
91 static osg::ref_ptr<osg::Texture2D> cloudParticleTexture;
94 static const int SplatBufferSize;
96 static float Extinction;
99 static unsigned int lightTexture;
102 static std::priority_queue<Cloud *, std::vector<Cloud *> > cloudQueue;
103 static std::vector<Cloud*> cloudVector;
104 static std::set<Cloud*> inQueueSet;
105 static unsigned int maxUpdatesParFrame;
106 static float translateErrorTolerance;
164 void SetLastCam(osg::Vec3f last_cam) { this->last_cam = last_cam; }
196 static void SetCloudParticleTexture(osg::ref_ptr<osg::Texture2D> newCloudParticleTexture) { cloudParticleTexture = newCloudParticleTexture; }
205 static void SetCamera(
const osg::Vec3f& newCameraPosition,
const osg::Vec3f& newCameraView,
const osg::Vec3f& newCameraUp);
206 static void SetViewMatrix(
const osg::Matrix& newViewMatrix) { viewMatrix = newViewMatrix; }