![]() |
VR-Forces Developer's Guide
|
A drawable for drawing the cloud layer.

Public Member Functions | |
| virtual | ~DtCloudDrawable () |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| virtual void | cleanupCloudLayer (SilverLining::Atmosphere *atmosphere, unsigned int layerHandle) const |
Public Attributes | |
| friend | DtCloudDrawableCreator |
Protected Member Functions | |
| DtCloudDrawable (DtDe &de, DtSilverliningGroup *parent) | |
| virtual void | fadeCloudsWithAltitude (const Vector3_64 &cameraPosition, SilverLining::CloudLayer *layer, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | fadeCloudsWithAltitude (const Vector3_64 &cameraPosition, SilverLining::Atmosphere *atmosphere, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | updateCloudAltitudes (const Vector3_64 &cameraPosition, SilverLining::Atmosphere *atmosphere, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual bool | updateShader (osg::Node *node, osg::State &state, SilverLining::Atmosphere *atmosphere, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | updateOpenGLState (osg::State &state, SilverLining::Atmosphere *atmosphere, osg::Camera *osgCamera, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | setIsReflectionUniform (const osg::Camera *osgCamera, SilverLining::Atmosphere *atm, bool isReflection, SilverLining::ThreadCameraStreamData *tcsData) const |
| virtual void | slot_environmentChanged (const std::string &name) |
| virtual bool | computeHeightAboveTerrain (const Vector3_64 &localPosition, double &heightOfGround, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | updateCloudLayerAltitudes (SilverLining::Atmosphere *atmosphere, SilverLining::ThreadCameraStreamData *tcsData, DtSilverLiningGroupTcsUserData *userData) const |
| virtual void | updateCubeMap (SilverLining::Atmosphere *atmosphere, SilverLining::ThreadCameraStreamData *tcsData, const osg::Camera *osgCamera, const Vector3_64 &cameraPosition, osg::State &state, DtSilverLiningGroupTcsUserData *userData) const |
| virtual bool | updateDepthTextureIfNecessary (osg::RenderInfo &renderInfo) const |
| virtual bool | anyLayerNeedsDepthTexture (void) const |
| virtual void | unbindDepthTexture (osg::RenderInfo &renderInfo) const |
Protected Attributes | |
| std::vector< unsigned int > | myUserShaderVector |
| DtSilverliningGroup * | myParent |
| DtDe & | myDe |
| const bool | myShadingRateIsSupported |
| DtSignalConnectionManager | myConnections |
| DtFrameTextureBlitterManager & | myFrameTextureBlitterManager |
Private Member Functions | |
| DtCloudDrawable ()=delete | |
| DtCloudDrawable (const DtCloudDrawable &rhs)=delete | |
| DtCloudDrawable & | operator= (const DtCloudDrawable &rhs)=delete |
|
virtual |
DTOR.
|
protected |
CTOR.
|
privatedelete |
not allowed
|
privatedelete |
|
privatedelete |
|
virtual |
Actually do the drawing.
|
virtual |
Used to cleanup any SilverLining::CloudLayer specific state that the drawable has. currently only removes the entry in the default altitude map.
|
protectedvirtual |
fade clouds depending on the altitude, for a given layer
|
protectedvirtual |
fade clouds depending on the altitude for all layers; calls the method above for each layer
|
protectedvirtual |
update cloud altitudes
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Slot when the environment is changed, for example, change from cloudy to snowy.
| name | The new name of the environment |
|
protectedvirtual |
compute height above terrain
|
protectedvirtual |
update cloud layer altitude
|
protectedvirtual |
update cube map
|
protectedvirtual |
Copy the depth buffer from the currently bound frame buffer to a texture that the clouds can use for smoothing clouds near other objects. Returns true if the depth texture was actually updated and bound.
|
protectedvirtual |
Whether any cloud layer needs the depth texture (e.g. stratocumulus always needs it)
|
protectedvirtual |
After the drawable is done with the depth texture we need to unbind it so SLI is fast.
| friend makVrv::DtCloudDrawable::DtCloudDrawableCreator |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |