![]() |
VR-Forces 4.10 Class Documentation
|
A group node which serves as a root for weather areas, patchy ground fog areas and effects, infinite height fog, sandstorms, rain shafts, and lightning. More...

Classes | |
| struct | DrawItem |
| A structure to hold data for a draw item. More... | |
| struct | DrawItemSortDistanceComparator |
| Functor for comparing draw items by sorting distance. More... | |
| struct | GroundFogEffectState |
| A structure to hold draw state information for ground fog effect shaders. More... | |
| struct | GroundFogPatchState |
| A structure to hold draw state information for ground fog patch (and sandstorm) shaders. More... | |
| struct | HeightFogItem |
| A structure to hold data for a height fog object. More... | |
| struct | LightningState |
| A structure to hold draw state information for lightning shaders. More... | |
| struct | RainShaftState |
| A structure to hold draw state information for rainshaft shaders. More... | |
| struct | SoftnessUniforms |
| A structure to hold depth softness uniforms for shaders. More... | |
Public Types | |
| enum | SensorMaterialType { SensorMaterialTypeNone = 0, SensorMaterialTypePatchyGroundFog, SensorMaterialTypeSandstorm, SensorMaterialTypeSandstormEffect, SensorMaterialTypeRainShaft, SensorMaterialTypeLightning, SensorMaterialTypeCount } |
| brief Sensor material type enumerations used for sensorfx. More... | |
| enum | DrawItemType { DrawItemTypeNone = 0, DrawItemTypeGroundFogPatchArea, DrawItemTypeGroundFogEffect, DrawItemTypeRainShaft, DrawItemTypeLightning } |
| brief Draw item type enumerations used for sorting bins. More... | |
Public Member Functions | |
| DtWeatherAreaGroup (DtDe &de) | |
| CTOR. More... | |
| DtWeatherAreaGroup (const DtWeatherAreaGroup &orig, const osg::CopyOp &opr) | |
| Copy constructor needed because it is derived from osg::Group. More... | |
| virtual | ~DtWeatherAreaGroup () |
| DTOR. More... | |
| DtWeatherAreaGroup ()=delete | |
| Default Constructor not implemented. More... | |
| DtWeatherAreaGroup (const DtWeatherAreaGroup &other)=delete | |
| Copy Constructor not implemented - Copy not allowed. More... | |
| DtWeatherAreaGroup & | operator= (const DtWeatherAreaGroup &other)=delete |
| Assignment Operator not implemented - Assignment not allowed. More... | |
| virtual void | init () |
| Called from the creator to initialize the object. More... | |
| virtual void | releaseGLObjects (osg::State *state=0) const override |
| release gl for fog patch and fog effect More... | |
| virtual osg::Object * | clone (const osg::CopyOp ©op) const |
| required functions for derriving from osg::Group More... | |
| virtual osg::Object * | cloneType () const |
| virtual void | deleteGeode () |
| Tell the group to delete its specific children. More... | |
| virtual osg::Node * | getOrCreateSensorNode (SensorMaterialType matType) |
| virtual bool | usingWeatherLayerType (DtWeatherLayer::LayerType layerType) const |
| Returns true if a weather area is using the given weather layer type. More... | |
| virtual void | removeCloudLayer (DtCloudLayerId layerId) |
| Remove a cloud layer. More... | |
| virtual bool | removeHeightFog (DtUniqueID uniqueId) |
| Remove a height fog object. More... | |
| virtual void | removeCloudLayers () |
| Remove all the cloud decks. More... | |
| virtual void | addGroundFog (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool altitudeIsHAT) |
| Adds a ground fog layer. More... | |
| virtual DtUniqueID | addHeightFog (const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool relative) |
| Adds a height fog object. More... | |
| virtual void | addPatchyGroundFog (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool relative) |
| Adds a patchy ground fog area. More... | |
| virtual void | addSandstorm (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool altitudeIsHAT) |
| Adds a sandstorm layer. More... | |
| virtual void | addBlowingDustArea (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, bool relative) |
| Adds a blowing dust area. More... | |
| virtual void | addBlowingSandArea (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, bool relative) |
| Adds a blowing sand area. More... | |
| virtual void | addBlowingSnowArea (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, bool relative) |
| Adds a blowing snow area. More... | |
| virtual DtUniqueID | addRainShaft (osg::Vec3d &position, const osg::Matrixd &rotation, const DtVector &bounds, const float cornerRadius, const float intensity) |
| Adds a rain shaft. More... | |
| virtual void | removeRainShaft (DtUniqueID uniqueId) |
| Remove a rain shaft. More... | |
| virtual void | setWeatherRainShaftBounds (DtUniqueID uniqueId, const DtVector &bounds, const float cornerRadius) |
| Sets the bounds for a rain shaft object. More... | |
| virtual void | setWeatherRainShaftTransform (DtUniqueID uniqueId, const osg::Vec3d &position, const osg::Matrixd &rotation) |
| Sets the position and rotation for a rain shaft object. More... | |
| virtual void | setWeatherRainShaftIntensity (DtUniqueID uniqueId, const float intensity) |
| brief Set the intensity for a rain shaft object. More... | |
| virtual void | setWeatherRainShaftBaseColor (DtUniqueID uniqueId, const DtVector &color) |
| brief Set the base color for a rain shaft object. More... | |
| virtual void | setWeatherRainShaftWind (DtUniqueID uniqueId, const float windDirectionRad, const float windSpeedMps) |
| Sets the current wind for a rain shaft object. More... | |
| virtual void | setWeatherRainShaftEnabled (DtUniqueID uniqueId, bool enabled) |
| Enables or disables a rain shaft object. More... | |
| virtual DtUniqueID | addLightning (osg::Vec3d &position, const osg::Matrixd &rotation, const DtVector &bounds, const float cornerRadius, const float intensity) |
| Adds a lightning object. More... | |
| virtual void | removeLightning (DtUniqueID uniqueId) |
| Remove a lightning object. More... | |
| virtual void | setWeatherLightningBounds (DtUniqueID uniqueId, const DtVector &bounds, const float cornerRadius) |
| Sets the bounds for a lightning object. More... | |
| virtual void | setWeatherLightningTransform (DtUniqueID uniqueId, const osg::Vec3d &position, const osg::Matrixd &rotation) |
| Sets the position and rotation for a lightning object. More... | |
| virtual void | setWeatherLightningIntensity (DtUniqueID uniqueId, const float intensity) |
| brief Set the intensity for a lightning object. More... | |
| virtual void | setWeatherLightningEnabled (DtUniqueID uniqueId, bool enabled) |
| Enables or disables a lightning object. More... | |
| virtual void | setCloudLayerDensity (DtCloudLayerId layerId, float density) |
| brief Set the fog density for a layer. More... | |
| virtual void | setHeightFogDensity (DtUniqueID uniqueId, float density) |
| brief Set the density for a height fog object. More... | |
| virtual void | setCloudLayerEnabled (DtCloudLayerId layerId, bool enabled) |
| Enables or disables a layer. More... | |
| virtual void | setHeightFogEnabled (DtUniqueID uniqueId, bool enabled) |
| Enables or disables a height fog object. More... | |
| virtual void | setCloudLayerPositionAndOrientation (DtCloudLayerId layerId, const DtVector &position, float orientation) |
| Sets the transform for the given layer. More... | |
| virtual void | setHeightFogPositionAndOrientation (DtUniqueID uniqueId, const DtVector &position, float orientation, bool relative) |
| Sets the position and orientation for a height fog object. More... | |
| virtual void | setCloudLayerBaseColor (DtCloudLayerId layerId, float red, float green, float blue) |
| Sets the base material color for a cloud layer. More... | |
| virtual void | setHeightFogBaseColor (DtUniqueID uniqueId, float red, float green, float blue) |
| Sets the base material color for a height fog object. More... | |
| virtual void | setHeightFogBounds (DtUniqueID uniqueId, const DtVector &bounds, const float cornerRadius) |
| Sets the bounds for a height fog object. More... | |
| virtual void | setCloudLayerParticleSizeVariation (DtCloudLayerId layerId, float variation) |
| Sets a size variation for particles used to fill voxel space. More... | |
| virtual void | setCloudLayerPatternedLook (DtCloudLayerId layerId, bool patternedEnable) |
| Enables or disables a patterned look (typically true for sandstorms). More... | |
| virtual void | setWind (float windDirectionRad, float windSpeedMps) |
| Sets the current wind to use for fog. More... | |
| virtual void | drawObjects (osg::RenderInfo &renderInfo, const DtWeatherAreaDrawable &drawable) |
| Draw all objects. More... | |
| virtual void | gatherWeatherAreas (const osg::Vec3d &position, std::vector< DtWeatherArea * > &areas) |
| Gets a list of active weather areas that intersect the given position. More... | |
| virtual bool | computeLocalPrecipitation (const DtVector &location, int &precipType, float &intensity) |
| Computes the precipitation at the given location. More... | |
| virtual bool | computeLocalGroundRainAccumulation (const DtVector &location, float &depth, float &blend) |
| Computes the ground rain accumulation at the given location. More... | |
| virtual bool | shouldActivateRaindrops () const |
| Check for local precipitation active to see whether to draw the rain post effect. More... | |
| virtual bool | bindFogFroxelTexture (const int unit, const unsigned int renderContextId) |
| Binds the fog froxel texture object to the given texture unit for the given render context. More... | |
| virtual float | fogFroxelMaxDistance () const |
| Returns the maximum distance used for fog froxel calulations. More... | |
Protected Types | |
| typedef std::map< DtUniqueID, HeightFogItem > | DtHeightFogMap |
| typedef std::map < DtCloudLayerId, DtUniqueID > | DtCloudLayerIdToUniqueIdMap |
Protected Member Functions | |
| virtual void | initGroundFogPatchState () |
| Initializes the draw state for ground fog patch objects. More... | |
| virtual void | initSandstormState () |
| Initializes the draw state for sandstorm objects. More... | |
| virtual void | initGroundFogEffectState () |
| Initializes the draw state for ground fog effect objects. More... | |
| virtual void | initRainShaftState () |
| Initializes the draw state for rain shaft objects. More... | |
| virtual void | initLightningState () |
| Initializes the draw state for lightning objects. More... | |
| virtual void | loadShaders () |
| Loads all shaders used to draw objects. More... | |
| virtual void | loadGroundFogPatchShaders () |
| Loads shaders used to draw ground fog objects. More... | |
| virtual void | loadSandstormShaders () |
| Loads shaders used to sandstorm objects. More... | |
| virtual void | loadGroundFogEffectShaders () |
| Loads shaders used to draw ground fog effects objects. More... | |
| virtual void | loadRainShaftShaders () |
| Loads shaders used to draw rain shaft objects. More... | |
| virtual void | loadLightningShaders () |
| Loads shaders used to draw lightning objects. More... | |
| virtual void | clearDrawBins () |
| Clear all draw bins. More... | |
| void | flushDrawBin (osg::RenderInfo &renderInfo, const DtWeatherAreaDrawable &drawable, std::vector< DrawItem > &drawBin) |
| Draws all items in the given draw bin. More... | |
| virtual void | drawGroundFogPatchArea (DtGroundFogPatchArea::DrawData &drawData, DtGroundFogPatchArea *area, const bool stateDirty) |
| Draw a ground fog patch area (or a sandstorm area). More... | |
| virtual void | drawGroundFogEffect (DtGroundFogEffect::DrawData &drawData, DtGroundFogPatchArea *area, const bool stateDirty) |
| Draw ground fog effects in a ground fog patch area. More... | |
| virtual void | drawRainShaft (DtWeatherRainShaft::DrawData &drawData, DtWeatherRainShaft *shaft, const bool stateDirty) |
| Draw a rain shaft. More... | |
| virtual void | drawLightning (DtWeatherLightning::DrawData &drawData, DtWeatherLightning *lightning, const bool stateDirty) |
| Draw lightning. More... | |
| virtual void | applyState (DtGroundFogPatchArea::DrawData &drawData, GroundFogPatchState &mutableState) const |
| Called to apply the ground fog patch (or sandstorm) state for drawing. More... | |
| virtual void | applyState (DtGroundFogEffect::DrawData &drawData) const |
| Called to apply the ground fog effect state for drawing. More... | |
| virtual void | applyState (DtWeatherRainShaft::DrawData &drawData) const |
| Called to apply the rain shaft state for drawing. More... | |
| virtual void | applyState (DtWeatherLightning::DrawData &drawData) const |
| Called to apply the lightning state for drawing. More... | |
| virtual void | initSoftnessUniforms (osg::StateSet &ss, SoftnessUniforms &softnessUniforms) |
| Initializes the uniforms associated with depth soften. More... | |
| virtual void | setupSoftness (osg::Camera *camera, SoftnessUniforms &softnessUniforms) const |
| Setup softness parameters used when drawing. More... | |
| void | connectSignals () |
| Connects all the signals, Non-virtural, called in the ctor. More... | |
| virtual void | slot_reloadShaders () |
| Signal handler to reload the shaders. More... | |
| virtual void | slot_simulationUpdate () |
| Signal handler to run a simulation update. More... | |
| virtual void | slot_weatherAreaObjectAdded (DtUniqueID id, DtWeatherAreaObject *) |
| Slot to handle signal for when a weather area is added. More... | |
| virtual void | slot_weatherAreaObjectToBeRemoved (DtUniqueID id, DtWeatherAreaObject *) |
| Slot to handle signal for when a weather area is about to be removed. More... | |
| virtual void | slot_weatherAreaObjectTransformChanged (DtUniqueID id, const DtVector &position, const float orientation) |
| Slot to handle signal for when a weather area transform changes. More... | |
| virtual void | slot_weatherAreaObjectBoundsChanged (DtUniqueID id, const DtVector &bounds, const float cornerRadius) |
| Slot to handle signal for when a weather area bounds changes. More... | |
| virtual void | slot_weatherAreaObjectPrecipitationIntensityChanged (DtUniqueID id, const float intensity) |
| Slot to handle signal for when a weather area precipitation intensity changes. More... | |
| virtual void | slot_weatherAreaObjectPrecipitationTypeChanged (DtUniqueID id, const unsigned int type) |
| Slot to handle signal for when a weather area precipitation type changes. More... | |
| virtual void | slot_weatherAreaObjectGroundRainAccumulationChanged (DtUniqueID id, const float depth) |
| Slot to handle signal for when a weather area ground rain accumulation changes. More... | |
| virtual void | slot_weatherAreaObjectFogColorChanged (DtUniqueID id, const DtVector &color) |
| Slot to handle signal for when a weather area fog color changes. More... | |
| virtual void | slot_weatherAreaObjectVisibilityDistanceChanged (DtUniqueID id, const float distance) |
| Slot to handle signal for when a weather area visibility distance changes. More... | |
| virtual void | slot_weatherAreaObjectOvercastChanged (DtUniqueID id, const float distance) |
| Slot to handle signal for when a weather area overcast changes. More... | |
| virtual void | slot_weatherAreaObjectLightningEnabledChanged (DtUniqueID id, const bool enabled) |
| Slot to handle signal for when a weather area lightning enable changes. More... | |
| virtual void | traverse (osg::NodeVisitor &nv) |
| Traverse. More... | |
| virtual void | disableHeightFog () |
| Disables height fog shader calculations. More... | |
| virtual void | cullUpdate (osg::Camera *cam) |
| Update draw objects for current camera. More... | |
| virtual void | cullUpdateHeightFog (osg::Camera *cam) |
| Updates the height layers for current camera. More... | |
| virtual void | computeBasis (const osg::Vec3d &inGeocentricPos, osg::Matrixd &rotOut) |
| Computes a basis rotation matrix for the given geocentric position. More... | |
| virtual void | releaseGroundFogPatchGLObjects (osg::State *state) const |
| Release all gl objects used by groundfog patch (and sandstorm) objects. More... | |
| virtual void | releaseGroundFogEffectGLObjects (osg::State *state) const |
| Release all gl objects used by groundfog effect objects. More... | |
| virtual void | releaseWeatherRainShaftGLObjects (osg::State *state) const |
| Release all gl objects used by weather rain shaft objects. More... | |
| virtual void | releaseWeatherLightningGLObjects (osg::State *state) const |
| Release all gl objects used by weather lightning objects. More... | |
Private Types | |
| typedef std::map < DtCloudLayerId, DtGroundFogPatchArea * > | DtGroundFogPatchAreaMap |
| This is mutable because it's used as part of the const drawImplementation. More... | |
| typedef std::map < DtCloudLayerId, DtWeatherArea * > | DtWeatherAreaMap |
| This is mutable because it's used as part of the const drawImplementation. More... | |
| typedef std::map< DtUniqueID, DtWeatherArea * > | DtWeatherAreaObjectMap |
| This is mutable because it's used as part of the const drawImplementation. More... | |
| typedef std::map< DtUniqueID, DtWeatherRainShaft * > | DtWeatherRainShaftMap |
| This is mutable because it's used as part of the const drawImplementation. More... | |
| typedef std::map< DtUniqueID, DtWeatherLightning * > | DtWeatherLightningMap |
| This is mutable because it's used as part of the const drawImplementation. More... | |
Private Member Functions | |
| osg::Node * | getChildNodeByName (osg::Group *parent, const char *name) |
| This is private and non-virtual because it's used in the constructor. More... | |
A group node which serves as a root for weather areas, patchy ground fog areas and effects, infinite height fog, sandstorms, rain shafts, and lightning.
A special note that sandstorms rely heavily on ground fog and ground fog effects. Sandstorms are achieved using various ground fog and effect configurations such as base color modification and local dust eye effects.
This group node is the top level node in the scenegraph for ground fog. The node also serves as the main interface to create and modify ground fog layers. All ground fog areas share a material state and all ground fog effects share a material state. Infinite height fog management is handled directly in this class.
This class manages weather areas (DtWeatherArea) such as blowing dust, blowing sand, and blowing snow.
This class also handles signals from weather area objects. These objects are generally come from DtLocalEnvironmentalsControllerObject which processes data for local weather area entities.
During the cull phase, draw items such as ground fog areas, ground fog area effects, and rain shafts, are all placed in draw sort bins (pre-clouds, post clouds, or transparent) depending on the desired sorting for a painters algorithm. Three osg drawables are placed in the scenegraph to hook into (pre-clouds, post clouds, or transparent) drawImplementation callbacks. Each draw implementation callback will flush the appropriate sorting bin.
|
protected |
|
protected |
|
private |
This is mutable because it's used as part of the const drawImplementation.
|
private |
This is mutable because it's used as part of the const drawImplementation.
|
private |
This is mutable because it's used as part of the const drawImplementation.
|
private |
This is mutable because it's used as part of the const drawImplementation.
|
private |
This is mutable because it's used as part of the const drawImplementation.
| makVrv::DtWeatherAreaGroup::DtWeatherAreaGroup | ( | DtDe & | de | ) |
CTOR.
| makVrv::DtWeatherAreaGroup::DtWeatherAreaGroup | ( | const DtWeatherAreaGroup & | orig, |
| const osg::CopyOp & | opr | ||
| ) |
Copy constructor needed because it is derived from osg::Group.
|
virtual |
DTOR.
|
delete |
Default Constructor not implemented.
|
delete |
Copy Constructor not implemented - Copy not allowed.
|
delete |
Assignment Operator not implemented - Assignment not allowed.
|
virtual |
Called from the creator to initialize the object.
|
overridevirtual |
release gl for fog patch and fog effect
|
inlinevirtual |
required functions for derriving from osg::Group
|
inlinevirtual |
|
virtual |
Tell the group to delete its specific children.
|
virtual |
|
virtual |
Returns true if a weather area is using the given weather layer type.
| layerType | The layer type to check. |
|
virtual |
Remove a cloud layer.
|
virtual |
Remove a height fog object.
Returns true if the object was found and removed.
|
virtual |
Remove all the cloud decks.
|
virtual |
Adds a ground fog layer.
|
virtual |
Adds a height fog object.
Returns a unique id for the added object.
|
virtual |
Adds a patchy ground fog area.
|
virtual |
Adds a sandstorm layer.
|
virtual |
Adds a blowing dust area.
|
virtual |
Adds a blowing sand area.
|
virtual |
Adds a blowing snow area.
|
virtual |
Adds a rain shaft.
Returns a unique id for the added object.
| position | The object transform position. |
| rotation | The object transform rotation. |
| bounds | The width, length, height of the bounds. |
| cornerRadius | The corner radius of the bounds: must be <= min(width, length) |
| intensity | The intensity (affects visibility). |
|
virtual |
Remove a rain shaft.
| uniqueId | The rain shaft object id. |
|
virtual |
Sets the bounds for a rain shaft object.
| uniqueId | The rain shaft object id. |
| bounds | The width, length, height of the bounds. |
| cornerRadius | The corner radius of the bounds: must be <= min(width, length) |
|
virtual |
Sets the position and rotation for a rain shaft object.
| uniqueId | The rain shaft object id. |
| position | The object transform position. |
| rotation | The object transform rotation. |
|
virtual |
brief Set the intensity for a rain shaft object.
| uniqueId | The unique id of the object. |
| intensity | The intensity (affects visibility). |
|
virtual |
brief Set the base color for a rain shaft object.
| uniqueId | The unique id of the object. |
| color | The rgb color to use (0.0 - 1.0 scale). |
|
virtual |
Sets the current wind for a rain shaft object.
| uniqueId | The unique id of the object. |
| windDirectionRad | The wind direction in radians. |
| windSpeedMps | The wind speed in meters per second. |
|
virtual |
Enables or disables a rain shaft object.
| uniqueId | The unique id of the object. |
| enabled | Set to true to enable the object. |
|
virtual |
Adds a lightning object.
Returns a unique id for the added object.
| position | The object transform position. |
| rotation | The object transform rotation. |
| bounds | The width, length, height of the bounds. |
| cornerRadius | The corner radius of the bounds: must be <= min(width, length) |
| intensity | The intensity (affects lightning strikes). |
|
virtual |
Remove a lightning object.
| uniqueId | The lightning object id. |
|
virtual |
Sets the bounds for a lightning object.
| uniqueId | The lightning object id. |
| bounds | The width, length, height of the bounds. |
| cornerRadius | The corner radius of the bounds: must be <= min(width, length) |
|
virtual |
Sets the position and rotation for a lightning object.
| uniqueId | Thelightning object id. |
| position | The object transform position. |
| rotation | The object transform rotation. |
|
virtual |
brief Set the intensity for a lightning object.
| uniqueId | The unique id of the object. |
| intensity | The intensity (affects lightning strikes). |
|
virtual |
Enables or disables a lightning object.
| uniqueId | The unique id of the object. |
| enabled | Set to true to enable the object. |
|
virtual |
brief Set the fog density for a layer.
| layerId | The layer to act upon. |
| density | This fog density exp() control. |
|
virtual |
brief Set the density for a height fog object.
| uniqueId | The unique id of the object. |
| density | This fog density exp() control. |
|
virtual |
Enables or disables a layer.
| layerId | The layer to act upon. |
| enabled | Set to true to enable the layer. |
|
virtual |
Enables or disables a height fog object.
| uniqueId | The unique id of the object. |
| enabled | Set to true to enable the object. |
|
virtual |
Sets the transform for the given layer.
|
virtual |
Sets the position and orientation for a height fog object.
|
virtual |
Sets the base material color for a cloud layer.
| layerId | The layer to act upon. |
| red | The red component color to set in the range of (0.0 - 1.0). |
| green | The green component color to set in the range of (0.0 - 1.0). |
| blue | The blue component color to set in the range of (0.0 - 1.0). |
|
virtual |
Sets the base material color for a height fog object.
| uniqueId | The height fog object id. |
| red | The red component color to set in the range of (0.0 - 1.0). |
| green | The green component color to set in the range of (0.0 - 1.0). |
| blue | The blue component color to set in the range of (0.0 - 1.0). |
|
virtual |
Sets the bounds for a height fog object.
| uniqueId | The height fog object id. |
| bounds | The width, length, height if the bounds. |
| cornerRadius | The corner radius of the bounds: must be <= min(width, length) |
|
virtual |
Sets a size variation for particles used to fill voxel space.
| layerId | The layer to act upon. |
| variation | The random variation (typically 0.0 to 0.5). |
|
virtual |
Enables or disables a patterned look (typically true for sandstorms).
| layerId | The layer to act upon. |
| patternedEnable | If true, enables a patterned look. |
|
virtual |
Sets the current wind to use for fog.
| windDirectionRad | The wind direction in radians. |
| windSpeedMps | The wind speed in meters per second. |
|
virtual |
Draw all objects.
|
virtual |
Gets a list of active weather areas that intersect the given position.
| position | The position to check. |
| areas | The list to fill in. |
|
virtual |
Computes the precipitation at the given location.
Returns true if location is in an active area, otherwise false.
| location | The location to compute the precipitation at. |
| precipType | The computed precipitation type (DtSkyObject::PrecipitationType). |
| intensity | The computed precipitation intensity. |
|
virtual |
Computes the ground rain accumulation at the given location.
Returns true if location is in an active area, otherwise false.
| location | The location to compute the ground rain accumulation at. |
| depth | The computed ground rain accumulation depth. |
| blend | (0.0 to 1.0) blend value based on local area perimeter. |
|
virtual |
Check for local precipitation active to see whether to draw the rain post effect.
|
virtual |
Binds the fog froxel texture object to the given texture unit for the given render context.
Returns true if the froxel texture is enabled.
| unit | The texture unit to bind to. |
| renderContextId | The current render context used for drawing. |
|
virtual |
Returns the maximum distance used for fog froxel calulations.
|
protectedvirtual |
Initializes the draw state for ground fog patch objects.
|
protectedvirtual |
Initializes the draw state for sandstorm objects.
|
protectedvirtual |
Initializes the draw state for ground fog effect objects.
|
protectedvirtual |
Initializes the draw state for rain shaft objects.
|
protectedvirtual |
Initializes the draw state for lightning objects.
|
protectedvirtual |
Loads all shaders used to draw objects.
|
protectedvirtual |
Loads shaders used to draw ground fog objects.
|
protectedvirtual |
Loads shaders used to sandstorm objects.
|
protectedvirtual |
Loads shaders used to draw ground fog effects objects.
|
protectedvirtual |
Loads shaders used to draw rain shaft objects.
|
protectedvirtual |
Loads shaders used to draw lightning objects.
|
protectedvirtual |
Clear all draw bins.
|
protected |
Draws all items in the given draw bin.
|
protectedvirtual |
Draw a ground fog patch area (or a sandstorm area).
|
protectedvirtual |
Draw ground fog effects in a ground fog patch area.
|
protectedvirtual |
Draw a rain shaft.
|
protectedvirtual |
Draw lightning.
|
protectedvirtual |
Called to apply the ground fog patch (or sandstorm) state for drawing.
| drawData | The data used to draw a ground fog patch. |
| mutableState | The state based on the material (ground fog or sandstorm). |
|
protectedvirtual |
Called to apply the ground fog effect state for drawing.
|
protectedvirtual |
Called to apply the rain shaft state for drawing.
|
protectedvirtual |
Called to apply the lightning state for drawing.
|
protectedvirtual |
Initializes the uniforms associated with depth soften.
|
protectedvirtual |
Setup softness parameters used when drawing.
| camera | The current camera being drawn. |
| softnessUniforms | The uniforms associated with softness to be set. |
|
protected |
Connects all the signals, Non-virtural, called in the ctor.
|
protectedvirtual |
Signal handler to reload the shaders.
|
protectedvirtual |
Signal handler to run a simulation update.
|
protectedvirtual |
Slot to handle signal for when a weather area is added.
|
protectedvirtual |
Slot to handle signal for when a weather area is about to be removed.
|
protectedvirtual |
Slot to handle signal for when a weather area transform changes.
|
protectedvirtual |
Slot to handle signal for when a weather area bounds changes.
|
protectedvirtual |
Slot to handle signal for when a weather area precipitation intensity changes.
|
protectedvirtual |
Slot to handle signal for when a weather area precipitation type changes.
|
protectedvirtual |
Slot to handle signal for when a weather area ground rain accumulation changes.
|
protectedvirtual |
Slot to handle signal for when a weather area fog color changes.
|
protectedvirtual |
Slot to handle signal for when a weather area visibility distance changes.
|
protectedvirtual |
Slot to handle signal for when a weather area overcast changes.
|
protectedvirtual |
Slot to handle signal for when a weather area lightning enable changes.
|
protectedvirtual |
Traverse.
|
protectedvirtual |
Disables height fog shader calculations.
|
protectedvirtual |
Update draw objects for current camera.
| cam | The current camera. |
|
protectedvirtual |
Updates the height layers for current camera.
| cam | The current camera. |
|
protectedvirtual |
Computes a basis rotation matrix for the given geocentric position.
| inGeocentricPos | The geocentric reference position. |
| rotOut | The computed basis rotation transform. |
|
protectedvirtual |
Release all gl objects used by groundfog patch (and sandstorm) objects.
|
protectedvirtual |
Release all gl objects used by groundfog effect objects.
|
protectedvirtual |
Release all gl objects used by weather rain shaft objects.
|
protectedvirtual |
Release all gl objects used by weather lightning objects.
|
private |
This is private and non-virtual because it's used in the constructor.
This method returns the first child node that matches the given name.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |