10 #ifndef DtCloudDrawable_H_
11 #define DtCloudDrawable_H_
16 #include <osg/Drawable>
19 namespace SilverLining
27 class DtSilverliningGroup;
47 virtual void releaseGLObjects(osg::State* state)
const;
50 void setCrepuscularRays(
bool enabled);
53 void updateCubeMaps(
bool fullRegenerate);
56 unsigned int getCubeMap(
const osg::ref_ptr<osg::Camera> camera)
const;
59 unsigned int getPrimaryCubeMap()
const;
62 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
65 void setGeocentricMode(
bool mode);
70 void updateCloudAltitudes(
const osg::Vec3d& localPosition, SilverLining::Atmosphere *atm);
73 void updateShader(osg::Node *node, osg::State& state, SilverLining::Atmosphere *atm)
const;
74 void updateOpenGLState(osg::State &state, SilverLining::Atmosphere *atm, osg::Camera *cam)
const;
75 void setIsReflectionUniform(SilverLining::Atmosphere* atm,
bool isReflection)
const;
78 void connectSingals();
81 virtual void disconnectSignals();
85 virtual void slot_environmentChanged(
const std::string& name);
118 bool computeHeightAboveTerrain(
const osg::Vec3d& localPosition,
double& heightOfGround);
119 void updateCloudLayerAltitudes(SilverLining::Atmosphere* atm);