VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrv::DtSilverliningGroup Class Reference

A group node which adds a silver-lining sky and will light all Children with the proper lighting parameters. More...

Inheritance diagram for makVrv::DtSilverliningGroup:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtSilverliningGroup ()
 DTOR. More...
 
virtual void setGenerateCubeMaps (bool enabled)
 Enable auto-generation of cube maps from the sky. More...
 
virtual unsigned int getCubeMap (const osg::ref_ptr< const osg::Camera > &osgCamera) const
 Retrieve a texture ID for a cube map containing the local sky for a given camera. More...
 
virtual void installIntoChannel (DtChannel *)
 
virtual void applyFog (osg::ref_ptr< const osg::Camera > osgCamera, bool adjustForCoverage, SilverLining::ThreadCameraStreamData *tcsData)
 Apply fog for a given camera. More...
 
virtual void deleteGeods ()
 Tell the silver-lining group to delete its specific children. More...
 
virtual void setGeocentricMode (bool mode)
 Set the group to be in geocentric mode. More...
 
virtual bool geocentricMode () const
 Get the simulation are in geocentric mode. More...
 
virtual void setHiResCumulus (bool enabled)
 Sets use of high-resolution (lower performance) cumulus clouds. More...
 
virtual bool hiResCumulus () const
 Gets use of high-resolution cumulus clouds. More...
 
virtual void setLensFlare (bool enabled)
 Set use of lens flare effects. More...
 
virtual bool lensFlare () const
 Get the use of lens flare effects. More...
 
virtual void setForcedMoonPhase (float phase)
 Forces the moon phase regardless of simulated date. 0 = new moon, 1.0 = full moon. More...
 
virtual void clearForcedMoonPhase ()
 Clears a forced moon phase and goes back to simulating it based on the date. More...
 
virtual bool moonPhaseIsForced () const
 Retrieves whether a forced moon phase is being used. More...
 
virtual float forcedMoonPhase () const
 Retrieves the forced moon phase (if any) More...
 
virtual void setForcedSunAndMoon (double sunLat, double sunLon, double moonLat, double moonLon, bool horizonCoords=true)
 Force latitude and longitude of the sun & moon to specified positions, using horizon (default) or ecliptic coordinates Note latitudes and longitudes are in radians. More...
 
virtual void clearForcedSunAndMoon ()
 
virtual bool sunAndMoonPositionIsForced () const
 Retrieves whether a forced sun and moon is being used. More...
 
virtual void getForcedSunAndMoonPosition (double &sunLat, double &sunLon, double &moonLat, double &moonLon, bool &horizonCoords) const
 Retrieves the forced sun an moon position (if any) More...
 
*virtual void setLightPollution (double Wm2)
 Sets the simulated amount of nighttime light pollution, in watts per square meter. More...
 
virtual double lightPollution () const
 Gets the simulated light pollution in watts per square meter. More...
 
virtual void setDateAndTime (unsigned short year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minutes, double seconds, bool observeDaylightSavings)
 Setup the date and time of silver lining. More...
 
virtual void updateTime ()
 Update the time in the atmosphere. More...
 
virtual void setLocation (const DtVector &location, SilverLining::ThreadCameraStreamData *tcsData, bool setForAll)
 Set the location using a local coordinate (it will be converted to the global coordinate using the current coordinate system). More...
 
virtual void update (const osg::Matrix &modelViewMatrix, SilverLining::ThreadCameraStreamData *tcsData)
 Update the lighting. More...
 
virtual void update2D (const osg::Matrix &m)
 Update the lighting in 2D mode. More...
 
virtual void updateConditions (DtOsgSkyObject *skyObject)
 Update all conditions from a DtOsgSkyObject. More...
 
virtual void removeCloudLayer (DtCloudLayerId layerId)
 Remove a cloud layer. More...
 
virtual void removeCloudLayers ()
 Remove all cloud layers. More...
 
virtual void setFogColor (const osg::Vec4f &rgbA)
 Set the fog color (which will be lit based on time of day) when visibility gets below the fog threshold distance. More...
 
virtual void setFogHeight (float height)
 Sets the simulated height of the fog on the skybox only. More...
 
virtual void setFogBlend (const osg::Vec4f &rgbA, float density)
 Set parameters to blend with the fog specified in setFogColor. More...
 
virtual void setFogOverride (osg::ref_ptr< const osg::Camera > osgCamera, const osg::Vec4f &rgbA, float density)
 Override all fog computations to the given fog color & density. More...
 
virtual void setFogThresholdDistance (float distance)
 Sets the visibility distance at which fog effects kick in instead of haze. More...
 
virtual void setHorizonColor (const osg::Vec4f &rgbA)
 Set the color of the sky at and below the horizon. More...
 
virtual void setCubeMapDirty ()
 Set the cube map dirty flag. More...
 
virtual void setUse16BitEnviroMap (bool flag)
 Set the silverlining atmosphere to use a 16 bit environment map. More...
 
virtual bool getUse16BitEnviroMap ()
 Get whether or not the atmosphere should use a 16 bit environment map. More...
 
virtual void setUsingSensorFXShader (bool flag)
 Set the flag that silverlining is using the sensorFX shaders. More...
 
virtual bool getUsingSensorFXShader ()
 Get the flag that silverlining is using the sensorFX shaders. More...
 
virtual void clearHorizonColor ()
 Clear usage of a set horizon color. More...
 
virtual void clearFogOverride (osg::ref_ptr< const osg::Camera > osgCamera)
 Undo any override for fog previously set for this camera. More...
 
virtual void clearFogOverrideForAllCameras (void)
 Undo any override for fog previously set for all cameras. More...
 
void setUseGlobalTimeZone (bool b)
 If set to true at next update use UTC time to position sun/moon, else use local timezone based on the position of the observer Non virtual, called in the CTOR. More...
 
virtual bool useGlobalTimeZone () const
 Get the current value of using GMT time for observer. More...
 
virtual float getSunAlpha () const
 Gets the alpha value of the sun disc (affected by fog) More...
 
virtual void setDrawSunAndMoonIntoEnvMap (bool draw)
 Sets whether the sun and moon are drawn into the environment map for reflections. More...
 
virtual bool drawSunAndMoonIntoEnvMap () const
 Gets whether the sun and moon are drawn into the environment map for reflections. More...
 
virtual float getSkyCoverage () const
 Retrieve the percentage of sky occluded by clouds, above the current camera position. More...
 
virtual void addCirroCumulus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cirrocumulus clouds to the scene. More...
 
virtual void addCirroStratus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cirrostratus clouds to the scene. More...
 
virtual void addCirrusFibratus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cirrus fibratus clouds to the scene. More...
 
virtual void addNimbostratus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add nimbostratus clouds to the scene. More...
 
virtual void addCumulusMediocris (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cumulus meodiocris clouds to the scene. More...
 
virtual void addCumulusCongestus (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cumulus congestus clouds to the scene. More...
 
virtual void addCumulonimbusCappilatus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, double density, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cumulus cappilatus clouds to the scene. More...
 
virtual void addStratocumulus (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cumulus stratocumulus clouds to the scene. More...
 
virtual void addGroundFog (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cumulus ground fog clouds to the scene. More...
 
virtual void setCloudLayerEnabled (DtCloudLayerId layerId, bool enabled, SilverLining::ThreadCameraStreamData *tcsData, bool setForAll)
 
virtual void setCloudLayerPositionAndOrientation (DtCloudLayerId layerId, const DtVector &position, float orientation, SilverLining::ThreadCameraStreamData *tcsData, bool setForAll)
 
virtual void setWind (const double directionDEN, const double minAltitude, const double maxAltitude, const double velocity)
 
virtual void setAirTurbidity (float turbidity)
 
virtual void setVisibleDistance (float distance, SilverLining::ThreadCameraStreamData *tcsData, bool setForAll)
 
virtual float getVisibleDistance () const
 
virtual void createAtmosphere ()
 
virtual void destroyAtmosphere ()
 
virtual bool getFailedInit ()
 
virtual void addRain (float mmPerHour, bool global)
 
virtual void addSleet (float mmPerHour, bool global)
 
virtual void addSnow (float mmPerHour, bool global, bool wet)
 
virtual void clearAllPrecipitation (SilverLining::ThreadCameraStreamData *tcsData)
 
virtual bool realizeLayers (SilverLining::ThreadCameraStreamData *tcsData)
 realize if necessary returns true if one more cloud layers are made in the call More...
 
virtual SilverLining::Atmosphere * findAtmosphere ()
 
virtual const
SilverLining::Atmosphere * 
findAtmosphere () const
 
virtual void getGMTDateTime (long &julianDate, double &GMTTod)
 
virtual osg::Node * getCloudsNode ()
 
virtual osg::Node * getSkyNode ()
 
virtual void setSunMoonEnabled (bool drawSunMoon)
 
virtual bool sunMoonEnabled ()
 
virtual void setStarsEnabled (bool drawStars)
 
virtual bool starsEnabled ()
 
virtual void enableLighting (osg::ref_ptr< osg::Camera > osgCamera, bool enable)
 
void setEnableHDR (bool enable)
 allows a plugin to turn on or off HDR in silverlining Non virtual, called in the CTOR. More...
 
virtual osg::LightSource * skyLight ()
 getter for skyLight so Triton can use it for it's lighting More...
 
virtual const CloudLayerMapcloudLayerMap () const
 
virtual osg::Vec3f & getLastUpVector ()
 
virtual void fillCrepuscularRaysParameters (DtCrepuscularRaysParameters &params, const osg::Camera *osgCamera) const
 fills out some uniforms based on SL parameters for crepuscular rays More...
 
virtual void updateImGuiAndGetModifiersOffOfImgGui (DtCrepuscularRaysModifiers &modifiers, float r, float g, float b, float sunPosX, float sunPosY, float sunPosZ, float exposure) const
 fills out some uniforms based on SL parameters for crepuscular rays More...
 
virtual void slot_windowToBeDestroyed (DtWindow *window)
 slot for when a window is about to be destroyed so we can let silverlining know to clean up the VAO's More...
 
virtual void addGraphicsContextIfNecessary (const osg::Camera *osgCamera)
 gets the current graphics context handle and stores it in a map with the osg GraphicsContext so we can clean up VAO's correctly needs to have the osg::GraphicsContext be the current active context so it should really only be called from a drawImplemenation() More...
 
const DtSilverLiningCameraManagersilverLiningCameraManager (void) const
 get the camera manager, const version More...
 
DtSilverLiningCameraManagersilverLiningCameraManager (void)
 get the camera manager, non-const version More...
 
const DtCloudLayerManagercloudLayerManager (void) const
 get the cloud layer manager, const version More...
 
DtCloudLayerManagercloudLayerManager (void)
 get the cloud layer manager, non-const version More...
 

Public Attributes

friend DtSilverliningGroupCreator
 only creator can created More...
 

Protected Member Functions

 DtSilverliningGroup (DtDe &de)
 CTOR. More...
 
virtual void addLayer (DtCloudLayerId layerId, const DtSilverLiningCloudLayer &layer)
 Add layer. More...
 
virtual void destroyLayer (const DtSilverLiningCloudLayer &layer)
 
virtual int CalculateZoneByLongitude (double longitude) const
 
void SetTimeAndLocation ()
 Non virtual, called in the CTOR. More...
 
virtual void addPrecipitationToClouds (int type, float mmPerHour)
 
virtual void updatePrecipitation (SilverLining::ThreadCameraStreamData *tcsData, const DtVector &location)
 
virtual void setCloudVisibility (SilverLining::ThreadCameraStreamData *tcsData, bool setForAll)
 
virtual void traverse (osg::NodeVisitor &nv)
 Traverse. More...
 
virtual void resetLayers ()
 
virtual void forceResetLayers ()
 
virtual void updateCubeMap (void)
 routes cube map to be updated information to the cloud drawable More...
 
virtual void slot_reloadShader ()
 handle the reload shaders signal so the fog shader can be reloaded. More...
 
virtual void updateLightOverrideGui (float x, float y, float z)
 
virtual void calculateAndFillFogParameters (DtSilverLiningFogParameters &fogParameters, bool adjustCoverage, SilverLining::ThreadCameraStreamData *tcsData) const
 calculate fog parameters for the current state of SL & values set here (myBlendedFogColor, myFogColor & DtEnvironmentInfo) More...
 
virtual void createFogAttributeIfNeeded (void)
 Enables fog for local terrains if enabled in environment settings. More...
 

Protected Attributes

DtDemyDe
 
OpenThreads::Mutex myMutex
 
DtReferenceEllipsoid myRefEllip
 
DtGeodeticCoord myGeod
 
SilverLining::Atmosphere * myAtmosphere
 my atmosphere. More...
 
SilverLining::LocalTime * myLocalTime
 
SilverLining::Location * myLocation
 
DtCloudLayerManagermyLayerManager
 
osg::ref_ptr< osg::Geode > mySkyGeode
 
osg::ref_ptr< osg::LightSource > mySkyLight
 
osg::ref_ptr< osg::Geode > myCloudGeode
 
osg::ref_ptr< DtLightManagerGroupmyLightManagerGroup
 
osg::Vec4f myFogColor
 
osg::Vec4f myBlendedFogColor
 
osg::Vec4f myHorizonColor
 
osg::Vec3f myLastUpVector
 
osg::Vec2f myWind
 
bool myHasFixedHorizonColor
 
float myFogDensity
 
float myVisibility
 
float myTurbidity
 
bool myGeocFlag
 
bool myNeedsResetFlag
 
int myCubeMapDirtyState
 
bool myCubeMapFullRegenerate
 
bool myCubeMapEnabled
 
bool myLensFlareEnabled
 
bool myMoonPhaseForced
 
float myForcedMoonPhase
 
bool mySunAndMoonPositionForced
 
float myForcedSunLat
 
float myForcedSunLon
 
float myForcedMoonLat
 
float myForcedMoonLon
 
bool myForcedSunAndMoonUsingHorizonCoords
 
bool myHiResCumulus
 
bool myDrawSunAndMoonIntoEnvMap
 
bool myUse16BitEnviroMap
 
bool myUsingSensorFXShader
 
osg::ref_ptr< osg::Uniform > myLightLevelUniform
 
osg::ref_ptr< osg::Uniform > myLightAmbientUniform
 
float myFogHeight
 
float myFogThresholdDistance
 
float mySunAlpha
 
bool myCurveCloudsTowardGround
 
int myGlobalPrecipitationType
 
float myGlobalPrecipitationIntensity
 
bool myForceRelight
 
osg::ref_ptr< DtOsgFogComponentmyFogComponent
 
osg::ref_ptr
< DtOsgGlobalShaderComponent
myGlobalShaderComponent
 
std::vector< unsigned intmyDefaultShaderVector
 
bool myDrawStars
 
bool myDrawSunMoon
 
DtSignalConnectionManager myConnections
 
bool myUseGlobalTimeZone
 
bool myFailedInit
 
bool myLastAtmosphereFogEnabled
 
std::string myOriginalVoxelDimension
 
bool myOverrideLightPositionEnabled
 
osg::Vec3f myOverrideLightPosition
 
double myLastImGuiSimTime
 
bool myUseAzimuthElevationForOverrideGui
 
DtSilverLiningFogManagermyFogManager
 
DtSilverLiningContextManagermyContextManager
 
DtSilverLiningCameraManagermyCameraManager
 

Detailed Description

A group node which adds a silver-lining sky and will light all Children with the proper lighting parameters.

Constructor & Destructor Documentation

virtual makVrv::DtSilverliningGroup::~DtSilverliningGroup ( )
virtual

DTOR.

makVrv::DtSilverliningGroup::DtSilverliningGroup ( DtDe de)
protected

CTOR.

Member Function Documentation

virtual void makVrv::DtSilverliningGroup::setGenerateCubeMaps ( bool  enabled)
virtual

Enable auto-generation of cube maps from the sky.

virtual unsigned int makVrv::DtSilverliningGroup::getCubeMap ( const osg::ref_ptr< const osg::Camera > &  osgCamera) const
virtual

Retrieve a texture ID for a cube map containing the local sky for a given camera.

virtual void makVrv::DtSilverliningGroup::installIntoChannel ( DtChannel )
virtual
virtual void makVrv::DtSilverliningGroup::applyFog ( osg::ref_ptr< const osg::Camera >  osgCamera,
bool  adjustForCoverage,
SilverLining::ThreadCameraStreamData *  tcsData 
)
virtual

Apply fog for a given camera.

adjust for coverage indicates whether to use the coverage of all the cloud layers for modulating the fog blend

virtual void makVrv::DtSilverliningGroup::deleteGeods ( )
virtual

Tell the silver-lining group to delete its specific children.

virtual void makVrv::DtSilverliningGroup::setGeocentricMode ( bool  mode)
virtual

Set the group to be in geocentric mode.

virtual bool makVrv::DtSilverliningGroup::geocentricMode ( ) const
virtual

Get the simulation are in geocentric mode.

virtual void makVrv::DtSilverliningGroup::setHiResCumulus ( bool  enabled)
virtual

Sets use of high-resolution (lower performance) cumulus clouds.

virtual bool makVrv::DtSilverliningGroup::hiResCumulus ( ) const
virtual

Gets use of high-resolution cumulus clouds.

virtual void makVrv::DtSilverliningGroup::setLensFlare ( bool  enabled)
virtual

Set use of lens flare effects.

virtual bool makVrv::DtSilverliningGroup::lensFlare ( ) const
virtual

Get the use of lens flare effects.

virtual void makVrv::DtSilverliningGroup::setForcedMoonPhase ( float  phase)
virtual

Forces the moon phase regardless of simulated date. 0 = new moon, 1.0 = full moon.

virtual void makVrv::DtSilverliningGroup::clearForcedMoonPhase ( )
virtual

Clears a forced moon phase and goes back to simulating it based on the date.

virtual bool makVrv::DtSilverliningGroup::moonPhaseIsForced ( ) const
virtual

Retrieves whether a forced moon phase is being used.

virtual float makVrv::DtSilverliningGroup::forcedMoonPhase ( ) const
virtual

Retrieves the forced moon phase (if any)

virtual void makVrv::DtSilverliningGroup::setForcedSunAndMoon ( double  sunLat,
double  sunLon,
double  moonLat,
double  moonLon,
bool  horizonCoords = true 
)
virtual

Force latitude and longitude of the sun & moon to specified positions, using horizon (default) or ecliptic coordinates Note latitudes and longitudes are in radians.

virtual void makVrv::DtSilverliningGroup::clearForcedSunAndMoon ( )
virtual
virtual bool makVrv::DtSilverliningGroup::sunAndMoonPositionIsForced ( ) const
virtual

Retrieves whether a forced sun and moon is being used.

virtual void makVrv::DtSilverliningGroup::getForcedSunAndMoonPosition ( double sunLat,
double sunLon,
double moonLat,
double moonLon,
bool horizonCoords 
) const
virtual

Retrieves the forced sun an moon position (if any)

* virtual void makVrv::DtSilverliningGroup::setLightPollution ( double  Wm2)
virtual

Sets the simulated amount of nighttime light pollution, in watts per square meter.

Defaults to zero. A reasonable value would be in the order of 0.01

virtual double makVrv::DtSilverliningGroup::lightPollution ( ) const
virtual

Gets the simulated light pollution in watts per square meter.

virtual void makVrv::DtSilverliningGroup::setDateAndTime ( unsigned short  year,
unsigned char  month,
unsigned char  day,
unsigned char  hour,
unsigned char  minutes,
double  seconds,
bool  observeDaylightSavings 
)
virtual

Setup the date and time of silver lining.

Reimplemented in makVrf::DtVrfSilverliningGroup.

virtual void makVrv::DtSilverliningGroup::updateTime ( )
virtual

Update the time in the atmosphere.

virtual void makVrv::DtSilverliningGroup::setLocation ( const DtVector location,
SilverLining::ThreadCameraStreamData *  tcsData,
bool  setForAll 
)
virtual

Set the location using a local coordinate (it will be converted to the global coordinate using the current coordinate system).

Reimplemented in makVrf::DtVrfSilverliningGroup.

virtual void makVrv::DtSilverliningGroup::update ( const osg::Matrix &  modelViewMatrix,
SilverLining::ThreadCameraStreamData *  tcsData 
)
virtual

Update the lighting.

virtual void makVrv::DtSilverliningGroup::update2D ( const osg::Matrix &  m)
virtual

Update the lighting in 2D mode.

virtual void makVrv::DtSilverliningGroup::updateConditions ( DtOsgSkyObject skyObject)
virtual

Update all conditions from a DtOsgSkyObject.

Note
Current conditions will be cleared before update.
virtual void makVrv::DtSilverliningGroup::removeCloudLayer ( DtCloudLayerId  layerId)
virtual

Remove a cloud layer.

virtual void makVrv::DtSilverliningGroup::removeCloudLayers ( )
virtual

Remove all cloud layers.

virtual void makVrv::DtSilverliningGroup::setFogColor ( const osg::Vec4f &  rgbA)
virtual

Set the fog color (which will be lit based on time of day) when visibility gets below the fog threshold distance.

virtual void makVrv::DtSilverliningGroup::setFogHeight ( float  height)
virtual

Sets the simulated height of the fog on the skybox only.

virtual void makVrv::DtSilverliningGroup::setFogBlend ( const osg::Vec4f &  rgbA,
float  density 
)
virtual

Set parameters to blend with the fog specified in setFogColor.

The the fog alpha is the blend parameter w/ 1.0 is 100% user set fog.

virtual void makVrv::DtSilverliningGroup::setFogOverride ( osg::ref_ptr< const osg::Camera >  osgCamera,
const osg::Vec4f &  rgbA,
float  density 
)
virtual

Override all fog computations to the given fog color & density.

virtual void makVrv::DtSilverliningGroup::setFogThresholdDistance ( float  distance)
virtual

Sets the visibility distance at which fog effects kick in instead of haze.

virtual void makVrv::DtSilverliningGroup::setHorizonColor ( const osg::Vec4f &  rgbA)
virtual

Set the color of the sky at and below the horizon.

virtual void makVrv::DtSilverliningGroup::setCubeMapDirty ( )
virtual

Set the cube map dirty flag.

virtual void makVrv::DtSilverliningGroup::setUse16BitEnviroMap ( bool  flag)
virtual

Set the silverlining atmosphere to use a 16 bit environment map.

virtual bool makVrv::DtSilverliningGroup::getUse16BitEnviroMap ( )
virtual

Get whether or not the atmosphere should use a 16 bit environment map.

virtual void makVrv::DtSilverliningGroup::setUsingSensorFXShader ( bool  flag)
virtual

Set the flag that silverlining is using the sensorFX shaders.

virtual bool makVrv::DtSilverliningGroup::getUsingSensorFXShader ( )
virtual

Get the flag that silverlining is using the sensorFX shaders.

virtual void makVrv::DtSilverliningGroup::clearHorizonColor ( )
virtual

Clear usage of a set horizon color.

virtual void makVrv::DtSilverliningGroup::clearFogOverride ( osg::ref_ptr< const osg::Camera >  osgCamera)
virtual

Undo any override for fog previously set for this camera.

virtual void makVrv::DtSilverliningGroup::clearFogOverrideForAllCameras ( void  )
virtual

Undo any override for fog previously set for all cameras.

void makVrv::DtSilverliningGroup::setUseGlobalTimeZone ( bool  b)

If set to true at next update use UTC time to position sun/moon, else use local timezone based on the position of the observer Non virtual, called in the CTOR.

virtual bool makVrv::DtSilverliningGroup::useGlobalTimeZone ( ) const
virtual

Get the current value of using GMT time for observer.

virtual float makVrv::DtSilverliningGroup::getSunAlpha ( ) const
virtual

Gets the alpha value of the sun disc (affected by fog)

virtual void makVrv::DtSilverliningGroup::setDrawSunAndMoonIntoEnvMap ( bool  draw)
virtual

Sets whether the sun and moon are drawn into the environment map for reflections.

virtual bool makVrv::DtSilverliningGroup::drawSunAndMoonIntoEnvMap ( ) const
virtual

Gets whether the sun and moon are drawn into the environment map for reflections.

virtual float makVrv::DtSilverliningGroup::getSkyCoverage ( ) const
virtual

Retrieve the percentage of sky occluded by clouds, above the current camera position.

virtual void makVrv::DtSilverliningGroup::addCirroCumulus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
const DtVector bounds,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cirrocumulus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addCirroStratus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
const DtVector bounds,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cirrostratus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addCirrusFibratus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
const DtVector bounds,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cirrus fibratus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addNimbostratus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
const DtVector bounds,
double  density,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add nimbostratus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addCumulusMediocris ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
float  cornerRadius,
const DtVector bounds,
double  density,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cumulus meodiocris clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addCumulusCongestus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
float  cornerRadius,
const DtVector bounds,
double  density,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cumulus congestus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addCumulonimbusCappilatus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
const DtVector bounds,
double  density,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cumulus cappilatus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addStratocumulus ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
float  cornerRadius,
const DtVector bounds,
double  density,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cumulus stratocumulus clouds to the scene.

virtual void makVrv::DtSilverliningGroup::addGroundFog ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
float  cornerRadius,
const DtVector bounds,
double  density,
bool  infinite,
bool  relative,
bool  fadeAtAltitude,
bool  altitudeIsHAT 
)
virtual

Add cumulus ground fog clouds to the scene.

virtual void makVrv::DtSilverliningGroup::setCloudLayerEnabled ( DtCloudLayerId  layerId,
bool  enabled,
SilverLining::ThreadCameraStreamData *  tcsData,
bool  setForAll 
)
virtual
virtual void makVrv::DtSilverliningGroup::setCloudLayerPositionAndOrientation ( DtCloudLayerId  layerId,
const DtVector position,
float  orientation,
SilverLining::ThreadCameraStreamData *  tcsData,
bool  setForAll 
)
virtual
virtual void makVrv::DtSilverliningGroup::setWind ( const double  directionDEN,
const double  minAltitude,
const double  maxAltitude,
const double  velocity 
)
virtual
virtual void makVrv::DtSilverliningGroup::setAirTurbidity ( float  turbidity)
virtual
virtual void makVrv::DtSilverliningGroup::setVisibleDistance ( float  distance,
SilverLining::ThreadCameraStreamData *  tcsData,
bool  setForAll 
)
virtual
virtual float makVrv::DtSilverliningGroup::getVisibleDistance ( ) const
virtual
virtual void makVrv::DtSilverliningGroup::createAtmosphere ( )
virtual
virtual void makVrv::DtSilverliningGroup::destroyAtmosphere ( )
virtual
virtual bool makVrv::DtSilverliningGroup::getFailedInit ( )
inlinevirtual
virtual void makVrv::DtSilverliningGroup::addRain ( float  mmPerHour,
bool  global 
)
virtual
virtual void makVrv::DtSilverliningGroup::addSleet ( float  mmPerHour,
bool  global 
)
virtual
virtual void makVrv::DtSilverliningGroup::addSnow ( float  mmPerHour,
bool  global,
bool  wet 
)
virtual
virtual void makVrv::DtSilverliningGroup::clearAllPrecipitation ( SilverLining::ThreadCameraStreamData *  tcsData)
virtual
virtual bool makVrv::DtSilverliningGroup::realizeLayers ( SilverLining::ThreadCameraStreamData *  tcsData)
virtual

realize if necessary returns true if one more cloud layers are made in the call

virtual SilverLining::Atmosphere* makVrv::DtSilverliningGroup::findAtmosphere ( )
virtual
virtual const SilverLining::Atmosphere* makVrv::DtSilverliningGroup::findAtmosphere ( ) const
virtual
virtual void makVrv::DtSilverliningGroup::getGMTDateTime ( long julianDate,
double GMTTod 
)
virtual
virtual osg::Node* makVrv::DtSilverliningGroup::getCloudsNode ( )
virtual
virtual osg::Node* makVrv::DtSilverliningGroup::getSkyNode ( )
virtual
virtual void makVrv::DtSilverliningGroup::setSunMoonEnabled ( bool  drawSunMoon)
virtual
virtual bool makVrv::DtSilverliningGroup::sunMoonEnabled ( )
virtual
virtual void makVrv::DtSilverliningGroup::setStarsEnabled ( bool  drawStars)
virtual
virtual bool makVrv::DtSilverliningGroup::starsEnabled ( )
virtual
virtual void makVrv::DtSilverliningGroup::enableLighting ( osg::ref_ptr< osg::Camera >  osgCamera,
bool  enable 
)
virtual
void makVrv::DtSilverliningGroup::setEnableHDR ( bool  enable)

allows a plugin to turn on or off HDR in silverlining Non virtual, called in the CTOR.

virtual osg::LightSource* makVrv::DtSilverliningGroup::skyLight ( )
virtual

getter for skyLight so Triton can use it for it's lighting

virtual const CloudLayerMap& makVrv::DtSilverliningGroup::cloudLayerMap ( ) const
virtual
virtual osg::Vec3f& makVrv::DtSilverliningGroup::getLastUpVector ( )
inlinevirtual
virtual void makVrv::DtSilverliningGroup::fillCrepuscularRaysParameters ( DtCrepuscularRaysParameters params,
const osg::Camera *  osgCamera 
) const
virtual

fills out some uniforms based on SL parameters for crepuscular rays

virtual void makVrv::DtSilverliningGroup::updateImGuiAndGetModifiersOffOfImgGui ( DtCrepuscularRaysModifiers &  modifiers,
float  r,
float  g,
float  b,
float  sunPosX,
float  sunPosY,
float  sunPosZ,
float  exposure 
) const
virtual

fills out some uniforms based on SL parameters for crepuscular rays

virtual void makVrv::DtSilverliningGroup::slot_windowToBeDestroyed ( DtWindow window)
virtual

slot for when a window is about to be destroyed so we can let silverlining know to clean up the VAO's

virtual void makVrv::DtSilverliningGroup::addGraphicsContextIfNecessary ( const osg::Camera *  osgCamera)
virtual

gets the current graphics context handle and stores it in a map with the osg GraphicsContext so we can clean up VAO's correctly needs to have the osg::GraphicsContext be the current active context so it should really only be called from a drawImplemenation()

const DtSilverLiningCameraManager* makVrv::DtSilverliningGroup::silverLiningCameraManager ( void  ) const

get the camera manager, const version

DtSilverLiningCameraManager* makVrv::DtSilverliningGroup::silverLiningCameraManager ( void  )

get the camera manager, non-const version

const DtCloudLayerManager* makVrv::DtSilverliningGroup::cloudLayerManager ( void  ) const

get the cloud layer manager, const version

DtCloudLayerManager* makVrv::DtSilverliningGroup::cloudLayerManager ( void  )

get the cloud layer manager, non-const version

virtual void makVrv::DtSilverliningGroup::addLayer ( DtCloudLayerId  layerId,
const DtSilverLiningCloudLayer layer 
)
protectedvirtual

Add layer.

virtual void makVrv::DtSilverliningGroup::destroyLayer ( const DtSilverLiningCloudLayer layer)
protectedvirtual
virtual int makVrv::DtSilverliningGroup::CalculateZoneByLongitude ( double  longitude) const
protectedvirtual
void makVrv::DtSilverliningGroup::SetTimeAndLocation ( )
protected

Non virtual, called in the CTOR.

virtual void makVrv::DtSilverliningGroup::addPrecipitationToClouds ( int  type,
float  mmPerHour 
)
protectedvirtual
virtual void makVrv::DtSilverliningGroup::updatePrecipitation ( SilverLining::ThreadCameraStreamData *  tcsData,
const DtVector location 
)
protectedvirtual
virtual void makVrv::DtSilverliningGroup::setCloudVisibility ( SilverLining::ThreadCameraStreamData *  tcsData,
bool  setForAll 
)
protectedvirtual
virtual void makVrv::DtSilverliningGroup::traverse ( osg::NodeVisitor &  nv)
protectedvirtual

Traverse.

virtual void makVrv::DtSilverliningGroup::resetLayers ( )
protectedvirtual
virtual void makVrv::DtSilverliningGroup::forceResetLayers ( )
protectedvirtual
virtual void makVrv::DtSilverliningGroup::updateCubeMap ( void  )
protectedvirtual

routes cube map to be updated information to the cloud drawable

virtual void makVrv::DtSilverliningGroup::slot_reloadShader ( )
protectedvirtual

handle the reload shaders signal so the fog shader can be reloaded.

virtual void makVrv::DtSilverliningGroup::updateLightOverrideGui ( float  x,
float  y,
float  z 
)
protectedvirtual
virtual void makVrv::DtSilverliningGroup::calculateAndFillFogParameters ( DtSilverLiningFogParameters fogParameters,
bool  adjustCoverage,
SilverLining::ThreadCameraStreamData *  tcsData 
) const
protectedvirtual

calculate fog parameters for the current state of SL & values set here (myBlendedFogColor, myFogColor & DtEnvironmentInfo)

virtual void makVrv::DtSilverliningGroup::createFogAttributeIfNeeded ( void  )
protectedvirtual

Enables fog for local terrains if enabled in environment settings.

Member Data Documentation

friend makVrv::DtSilverliningGroup::DtSilverliningGroupCreator

only creator can created

DtDe& makVrv::DtSilverliningGroup::myDe
protected
OpenThreads::Mutex makVrv::DtSilverliningGroup::myMutex
mutableprotected
DtReferenceEllipsoid makVrv::DtSilverliningGroup::myRefEllip
protected
DtGeodeticCoord makVrv::DtSilverliningGroup::myGeod
protected
SilverLining::Atmosphere* makVrv::DtSilverliningGroup::myAtmosphere
protected

my atmosphere.

SilverLining::LocalTime* makVrv::DtSilverliningGroup::myLocalTime
protected
SilverLining::Location* makVrv::DtSilverliningGroup::myLocation
protected
DtCloudLayerManager* makVrv::DtSilverliningGroup::myLayerManager
protected
osg::ref_ptr<osg::Geode> makVrv::DtSilverliningGroup::mySkyGeode
protected
osg::ref_ptr<osg::LightSource> makVrv::DtSilverliningGroup::mySkyLight
protected
osg::ref_ptr<osg::Geode> makVrv::DtSilverliningGroup::myCloudGeode
protected
osg::ref_ptr<DtLightManagerGroup> makVrv::DtSilverliningGroup::myLightManagerGroup
protected
osg::Vec4f makVrv::DtSilverliningGroup::myFogColor
protected
osg::Vec4f makVrv::DtSilverliningGroup::myBlendedFogColor
protected
osg::Vec4f makVrv::DtSilverliningGroup::myHorizonColor
protected
osg::Vec3f makVrv::DtSilverliningGroup::myLastUpVector
protected
osg::Vec2f makVrv::DtSilverliningGroup::myWind
protected
bool makVrv::DtSilverliningGroup::myHasFixedHorizonColor
protected
float makVrv::DtSilverliningGroup::myFogDensity
protected
float makVrv::DtSilverliningGroup::myVisibility
protected
float makVrv::DtSilverliningGroup::myTurbidity
protected
bool makVrv::DtSilverliningGroup::myGeocFlag
protected
bool makVrv::DtSilverliningGroup::myNeedsResetFlag
protected
int makVrv::DtSilverliningGroup::myCubeMapDirtyState
protected
bool makVrv::DtSilverliningGroup::myCubeMapFullRegenerate
protected
bool makVrv::DtSilverliningGroup::myCubeMapEnabled
protected
bool makVrv::DtSilverliningGroup::myLensFlareEnabled
protected
bool makVrv::DtSilverliningGroup::myMoonPhaseForced
protected
float makVrv::DtSilverliningGroup::myForcedMoonPhase
protected
bool makVrv::DtSilverliningGroup::mySunAndMoonPositionForced
protected
float makVrv::DtSilverliningGroup::myForcedSunLat
protected
float makVrv::DtSilverliningGroup::myForcedSunLon
protected
float makVrv::DtSilverliningGroup::myForcedMoonLat
protected
float makVrv::DtSilverliningGroup::myForcedMoonLon
protected
bool makVrv::DtSilverliningGroup::myForcedSunAndMoonUsingHorizonCoords
protected
bool makVrv::DtSilverliningGroup::myHiResCumulus
protected
bool makVrv::DtSilverliningGroup::myDrawSunAndMoonIntoEnvMap
protected
bool makVrv::DtSilverliningGroup::myUse16BitEnviroMap
protected
bool makVrv::DtSilverliningGroup::myUsingSensorFXShader
protected
osg::ref_ptr<osg::Uniform> makVrv::DtSilverliningGroup::myLightLevelUniform
protected
osg::ref_ptr<osg::Uniform> makVrv::DtSilverliningGroup::myLightAmbientUniform
protected
float makVrv::DtSilverliningGroup::myFogHeight
protected
float makVrv::DtSilverliningGroup::myFogThresholdDistance
protected
float makVrv::DtSilverliningGroup::mySunAlpha
protected
bool makVrv::DtSilverliningGroup::myCurveCloudsTowardGround
protected
int makVrv::DtSilverliningGroup::myGlobalPrecipitationType
protected
float makVrv::DtSilverliningGroup::myGlobalPrecipitationIntensity
protected
bool makVrv::DtSilverliningGroup::myForceRelight
protected
osg::ref_ptr<DtOsgFogComponent> makVrv::DtSilverliningGroup::myFogComponent
protected
osg::ref_ptr<DtOsgGlobalShaderComponent> makVrv::DtSilverliningGroup::myGlobalShaderComponent
protected
std::vector<unsigned int> makVrv::DtSilverliningGroup::myDefaultShaderVector
protected
bool makVrv::DtSilverliningGroup::myDrawStars
protected
bool makVrv::DtSilverliningGroup::myDrawSunMoon
protected
DtSignalConnectionManager makVrv::DtSilverliningGroup::myConnections
protected
bool makVrv::DtSilverliningGroup::myUseGlobalTimeZone
protected
bool makVrv::DtSilverliningGroup::myFailedInit
protected
bool makVrv::DtSilverliningGroup::myLastAtmosphereFogEnabled
protected
std::string makVrv::DtSilverliningGroup::myOriginalVoxelDimension
protected
bool makVrv::DtSilverliningGroup::myOverrideLightPositionEnabled
protected
osg::Vec3f makVrv::DtSilverliningGroup::myOverrideLightPosition
protected
double makVrv::DtSilverliningGroup::myLastImGuiSimTime
protected
bool makVrv::DtSilverliningGroup::myUseAzimuthElevationForOverrideGui
protected
DtSilverLiningFogManager* makVrv::DtSilverliningGroup::myFogManager
protected
DtSilverLiningContextManager* makVrv::DtSilverliningGroup::myContextManager
protected
DtSilverLiningCameraManager* makVrv::DtSilverliningGroup::myCameraManager
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)