![]() |
VR-Forces 4.8 Class Documentation
|
A drawable for drawing the cloud layer. More...

Classes | |
| struct | CubeMapData |
Public Types | |
| enum | CubeMapUpdateState { CUBEMAP_CLEAN = 0, CUBEMAP_RENDER = 1, CUBEMAP_MIPMAP = 2 } |
Public Member Functions | |
| DtCloudDrawable (DtSilverliningGroup *parent=0) | |
| CTOR. More... | |
| DtCloudDrawable (const DtCloudDrawable ©, const osg::CopyOp &op) | |
| CopyCOTR. More... | |
| virtual | ~DtCloudDrawable () |
| DTOR. More... | |
| virtual void | releaseGLObjects (osg::State *state) const |
| Meta Functions. More... | |
| virtual void | slot_channelDestroyed (DtChannelManager *channelManager, DtChannel *channel) |
| connected to the signal_channelToBeDestroyed to cleanup the camera map More... | |
| void | setCrepuscularRays (bool enabled) |
| Set whether crepuscular rays (sun rays) effects are on. More... | |
| void | updateCubeMaps (bool fullRegenerate) |
| Request an updated cube map with the next draw. More... | |
| unsigned int | getCubeMap (const osg::ref_ptr< const osg::Camera > camera) const |
| Returns the latest environmental cube map for a camera, or NULL. More... | |
| unsigned int | getPrimaryCubeMap () const |
| Returns the latest environmental cube map for general use, or NULL. More... | |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| Actually do the drawing. More... | |
| void | setGeocentricMode (bool mode) |
| Indicate if we are in a geocentric terrain. More... | |
| virtual void | cleanupCloudLayer (SilverLining::Atmosphere *atm, unsigned int layerHandle) |
| Used to cleanup any SilverLining::CloudLayer specific state that the drawable has. More... | |
Protected Types | |
| typedef std::map < osg::observer_ptr< const osg::Camera >, CubeMapData * > | MapCameraToCubeMapData |
| typedef std::map < osg::observer_ptr< const osg::Camera >, unsigned long int > | MapOsgCamerasToEnvMapCameraIDs |
Protected Member Functions | |
| void | fadeCloudsWithAltitude (double altitudeMSL, SilverLining::CloudLayer *layer) |
| void | updateCloudAltitudes (const osg::Vec3d &localPosition, SilverLining::Atmosphere *atm) |
| void | updateShader (osg::Node *node, osg::State &state, SilverLining::Atmosphere *atm) const |
| void | updateOpenGLState (osg::State &state, SilverLining::Atmosphere *atm, osg::Camera *cam) const |
| void | setIsReflectionUniform (osg::State &state, SilverLining::Atmosphere *atm, bool isReflection) const |
| void | connectSingals () |
| Connects all the signals, Non-virtural, called in the ctor. More... | |
| void | initUniforms () |
| setup uniforms More... | |
| virtual void | disconnectSignals () |
| Disconnects all the signals, called in the dtor. More... | |
| virtual void | slot_environmentChanged (const std::string &name) |
| Slot when the environment is changed, for example, change from cloudy to snowy. More... | |
| bool | computeHeightAboveTerrain (const osg::Vec3d &localPosition, double &heightOfGround) |
| void | updateCloudLayerAltitudes (SilverLining::Atmosphere *atm) |
| virtual void | updateDepthTexture (osg::RenderInfo &renderInfo) const |
| Copy the depth buffer from the currently bound frame buffer to a texture that the clouds can use for smoothing clouds near other objects. More... | |
| virtual void | unbindDepthTexture (osg::RenderInfo &renderInfo) const |
| After the drawable is done with the depth texture we need to unbind it so SLI is fast. More... | |
| virtual void | updateSoftnessAndSmoothCloudsFromImGui () const |
| virtual CubeMapData * | getOrCreateCubeMapData (osg::Camera *camera, const osg::Vec3d &camPos) const |
| virtual void | flushInvalidCamerasForCubeMap (void) |
| virtual void | flushInvalidCamerasForEnvMap (void) |
| virtual unsigned long int | getOrCreateCameraHandleForEnvMap (const osg::RenderInfo &renderInfo) |
A drawable for drawing the cloud layer.
|
protected |
|
protected |
| makVrv::DtCloudDrawable::DtCloudDrawable | ( | DtSilverliningGroup * | parent = 0 | ) |
CTOR.
| makVrv::DtCloudDrawable::DtCloudDrawable | ( | const DtCloudDrawable & | copy, |
| const osg::CopyOp & | op | ||
| ) |
CopyCOTR.
|
virtual |
DTOR.
|
virtual |
Meta Functions.
|
virtual |
connected to the signal_channelToBeDestroyed to cleanup the camera map
| void makVrv::DtCloudDrawable::setCrepuscularRays | ( | bool | enabled | ) |
Set whether crepuscular rays (sun rays) effects are on.
| void makVrv::DtCloudDrawable::updateCubeMaps | ( | bool | fullRegenerate | ) |
Request an updated cube map with the next draw.
| unsigned int makVrv::DtCloudDrawable::getCubeMap | ( | const osg::ref_ptr< const osg::Camera > | camera | ) | const |
Returns the latest environmental cube map for a camera, or NULL.
Returns the latest environmental cube map for general use, or NULL.
|
virtual |
Actually do the drawing.
| void makVrv::DtCloudDrawable::setGeocentricMode | ( | bool | mode | ) |
Indicate if we are in a geocentric terrain.
|
virtual |
Used to cleanup any SilverLining::CloudLayer specific state that the drawable has.
currently only removes the entry in the default altitude map.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Connects all the signals, Non-virtural, called in the ctor.
|
protected |
setup uniforms
|
protectedvirtual |
Disconnects all the signals, called in the dtor.
|
protectedvirtual |
Slot when the environment is changed, for example, change from cloudy to snowy.
| name | The new name of the environment |
|
protected |
|
protected |
|
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.
|
protectedvirtual |
After the drawable is done with the depth texture we need to unbind it so SLI is fast.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
This flag is used to skip updating the altitude when an environmented changed, since the actual change for silver lining happen in next frame.
|
protected |
|
mutableprotected |
|
mutableprotected |
mutable due to osg drawImplementation limitations.
Used to setup uniforms so they the opengl calls are not called directly in this class.
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
mutable due to osg drawImplementation limitations. Used for imgui settings for cloud smoothing.
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |