VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSilverliningGroup.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
17 
19 #include <vrvCore/DtCloudLayer.h>
21 
23 
24 #include <osg/Camera>
25 #include <osg/Group>
26 #include <osg/Geode>
27 #include <osg/LightSource>
28 #include <osg/Uniform>
29 #include <osg/observer_ptr>
30 
31 #include <OpenThreads/Mutex>
32 
33 #include <matrix/vlVector.h>
34 #include <matrix/referenceEllipsoid.h>
35 #include <matrix/geodeticCoord.h>
36 
37 #include <tbb/concurrent_queue.h>
38 
39 #include <list>
40 #include <map>
41 #include <mutex>
42 
43 namespace SilverLining
44 {
45  class Atmosphere;
46  class CloudLayer;
47  class LocalTime;
48  class Location;
49  class ThreadCameraStreamData;
50  class Vector3;
51  class Vector4;
52 }
53 
54 namespace makVrv
55 {
56  class DtChannel;
57  class DtDe;
58  class DtOsgFogComponent;
59  class DtLightManagerGroup;
60  class DtOsgSkyObject;
61  class DtCloudLayerManager;
62  class DtWindow;
63  class DtCoordinateSystem;
64  class DtCloudDrawable;
65 
66  class DtSilverLiningFogParameters;
67  class DtSilverLiningCubeMapData;
68  class DtSilverLiningGroupTcsUserData;
69  class DtGlDeleteObjectManager;
70  class DtOsgLightManager;
71 
72 
75 
78 
80  template <>
81  inline const char* creatorTypeName<DtSilverliningGroup>(void) { return "DtSilverliningGroupCreator"; }
82 
83  struct DtCrepuscularRaysModifiers;
84  struct DtCrepuscularRaysParameters;
85 
86  class DtDtSilverLiningGroupCameraObserver : public osg::Observer
87  {
88  public:
89  virtual void objectDeleted(void*) override;
90  public:
92  };
93 
97  class DT_DLL_VRVOSG DtSilverliningGroup : public osg::Group
98  {
99  public:
102 
104  virtual ~DtSilverliningGroup();
105 
106  protected:
109 
110  public:
112  virtual void setGenerateCubeMaps(bool enabled);
113 
116  virtual unsigned int findCubeMap(const osg::ref_ptr<const osg::Camera>& osgCamera) const;
117 
121  virtual void applyFog(osg::ref_ptr<const osg::Camera> osgCamera, SilverLining::ThreadCameraStreamData* slTcsData, SilverLining::Location* slLocation, bool adjustForCoverage);
122 
124  virtual void deleteGeods();
125 
127  virtual void setForcedMoonPhase(float phase);
128 
130  virtual void clearForcedMoonPhase();
131 
133  virtual bool moonPhaseIsForced() const;
134 
136  virtual float forcedMoonPhase() const;
137 
141  virtual void setForcedSunAndMoon(double sunLat, double sunLon, double moonLat,
142  double moonLon, bool horizonCoords = true);
143 
144  // Clear any forced sun & moon position set with ForceSunAndMoon()
145  virtual void clearForcedSunAndMoon();
146 
148  virtual bool sunAndMoonPositionIsForced() const;
149 
151  virtual void getForcedSunAndMoonPosition(double& sunLat, double& sunLon,
152  double& moonLat, double& moonLon, bool& horizonCoords) const;
153 
154  DtVector3<float> sunOrMoonPosition(const osg::Camera* osgCamera) const;
155 
158  virtual void setLightPollution(double Wm2);
159 
161  virtual double lightPollution() const;
162 
165  virtual void setLocation(const DtVector& location, osg::ref_ptr<const osg::Camera> osgCamera, SilverLining::ThreadCameraStreamData* tcsData, bool useGlobalTimeZoneOverride, bool updateTimeInAtmosphere);
166 
168  virtual void update(const osg::Matrix& modelViewMatrix, osg::ref_ptr<const osg::Camera> osgCamera, SilverLining::ThreadCameraStreamData* tcsData);
169 
171  virtual void update2D(const osg::Matrixd& m, const osg::Camera* osgCamera);
172 
174  virtual void removeCloudLayer(DtCloudLayerId layerId);
175 
177  virtual void removeCloudLayers();
178 
181  virtual void setFogColor(const Vector4_32& rgbA);
182 
184  virtual void setFogHeight(float height);
185 
188  virtual void setFogBlend(const Vector4_32& rgbA, float density);
189 
193  virtual void setFogOverride(osg::ref_ptr<const osg::Camera> osgCamera, const Vector4_32& rgbA, float density, float cameraDepth);
194 
197  virtual void setFogThresholdDistance(float distance);
198 
200  virtual void setHorizonColor(const Vector4_32& rgbA);
201 
203  virtual void setCubeMapDirty();
204 
206  virtual void setUse16BitEnviroMap(bool flag);
207 
209  virtual bool getUse16BitEnviroMap();
210 
212  virtual void setUsingSensorFXShader(bool flag);
213 
215  virtual bool getUsingSensorFXShader();
216 
218  virtual void clearHorizonColor();
219 
221  virtual void clearFogOverride(osg::ref_ptr<const osg::Camera> osgCamera);
222 
224  virtual void clearFogOverrideForAllCameras(void);
225 
226 
228  virtual bool useGlobalTimeZone() const;
229 
231  virtual float sunAlpha(const osg::Camera* osgCamera) const;
232 
234  virtual void setDrawSunAndMoonIntoEnvMap(const osg::Camera* osgCamera, bool draw);
235 
237  virtual float getSkyCoverage(osg::ref_ptr<const osg::Camera> osgCamera) const;
238 
240  virtual void addCirroCumulus(DtCloudLayerId layerId, const DtVector& position, float orientation,
241  const DtVector& bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
242 
244  virtual void addCirroStratus(DtCloudLayerId layerId, const DtVector& position, float orientation,
245  const DtVector& bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
246 
248  virtual void addCirrusFibratus(DtCloudLayerId layerId, const DtVector& position, float orientation,
249  const DtVector& bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
250 
252  virtual void addNimbostratus(DtCloudLayerId layerId, const DtVector& position, float orientation,
253  const DtVector& bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
254 
256  virtual void addCumulusMediocris(DtCloudLayerId layerId, const DtVector& position, float orientation,
257  float cornerRadius, const DtVector& bounds, double density, bool infinite, bool relative, bool fadeAtAltitude,
258  bool altitudeIsHAT);
259 
261  virtual void addCumulusCongestus(DtCloudLayerId layerId, const DtVector& position, float orientation,
262  float cornerRadius, const DtVector& bounds, double density, bool infinite, bool relative, bool fadeAtAltitude,
263  bool altitudeIsHAT);
264 
266  virtual void addCumulonimbusCappilatus(DtCloudLayerId layerId, const DtVector& position, float orientation,
267  const DtVector& bounds, double density, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
268 
270  virtual void addStratocumulus(DtCloudLayerId layerId, const DtVector& position, float orientation,
271  float cornerRadius, const DtVector& bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
272 
274  virtual void addGroundFog(DtCloudLayerId layerId, const DtVector& position, float orientation, float cornerRadius,
275  const DtVector& bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT);
276 
277  virtual void setCloudLayerEnabled(DtCloudLayerId layerId, bool enabled, SilverLining::ThreadCameraStreamData* tcsData);
278  virtual void setCloudLayerPositionAndOrientation(DtCloudLayerId layerId, const DtVector& position, float orientation);
279 
280  virtual void setWind(const double directionDEN, const double minAltitude,
281  const double maxAltitude, const double velocity);
282 
284  virtual const Vector2_32& wind(void) const;
285 
286  virtual void setAirTurbidity(float turbidity);
287  virtual void setVisibleDistance(const osg::Camera* osgCamera, float distance);
288  virtual float getVisibleDistance() const;
289 
290  virtual void createAtmosphere();
291 
292  // if create atmosphere failed this is set to true.
293  virtual bool getFailedInit() { return myFailedInit; }
294 
295  virtual void addRain(float mmPerHour, bool global);
296  virtual void addSleet(float mmPerHour, bool global);
297  virtual void addSnow(float mmPerHour, bool global, bool wet);
298  virtual void clearAllPrecipitation(SilverLining::ThreadCameraStreamData* tcsData);
299 
302  virtual bool realizeLayers(SilverLining::ThreadCameraStreamData* tcsData
303  , DtSilverLiningGroupTcsUserData* userData);
304 
305  virtual SilverLining::Atmosphere* findAtmosphere();
306  virtual const SilverLining::Atmosphere* findAtmosphere() const;
307 
308  //get the Julian Date and Time in the GMT time zone
309  virtual void getGMTDateTime(long &julianDate, double &GMTTod) const;
310 
311  //return the node that is the parent to the clouds
312  virtual osg::Node *getCloudsNode();
313 
314  //return the node that is the parent to the sky
315  virtual osg::Node *getSkyNode();
316 
317  //set the flag for drawing the silverlining sun/moon
318  virtual void setSunMoonEnabled(bool drawSunMoon);
319 
320  //get the flag for drawing the silverlining sun/moon
321  virtual bool sunMoonEnabled();
322 
323  //set the flag for drawing the silverlining stars
324  virtual void setStarsEnabled(bool drawStars);
325 
326  //get the flag for drawing the silverlining stars
327  virtual bool starsEnabled();
328 
329  virtual void enableLighting(osg::ref_ptr<osg::Camera> osgCamera, bool enable);
330 
333  void setEnableHDR(bool enable);
334 
336  virtual osg::LightSource *skyLight(const osg::Camera* osgCamera);
337 
339  virtual const osg::LightSource* skyLight(const osg::Camera* osgCamera) const;
340 
341  virtual const CloudLayerMap& cloudLayerMap() const;
342 
345  virtual void fillCrepuscularRaysParameters(DtCrepuscularRaysParameters& params, const osg::Camera* osgCamera) const;
346 
348  virtual const DtCloudLayerManager* cloudLayerManager(void) const;
349 
351  virtual DtCloudLayerManager* cloudLayerManager(void);
352 
354  virtual DtOsgFogComponent* findFogComponent() const;
355 
358  virtual std::string userDefinedVertString(void) const;
359  virtual std::string userDefinedFragString(void) const;
361 
363  virtual DtSilverLiningGroupTcsUserData* getOrCreateUserData(const osg::Camera* osgCamera);
364 
366  virtual DtSilverLiningGroupTcsUserData* findUserData(const osg::Camera* osgCamera);
367 
369  virtual const DtSilverLiningGroupTcsUserData* findUserData(const osg::Camera* osgCamera) const;
370 
373  virtual SilverLining::ThreadCameraStreamData* findSilverLiningTcsData(const osg::Camera* osgCamera);
374 
377  virtual SilverLining::ThreadCameraStreamData* findSilverLiningTcsData(const osg::Camera* osgCamera) const;
378 
380  virtual void reloadShaders(const std::vector<unsigned int>& shaderVector
381  , const std::string& userDefinedVertString, const std::string& userDefinedFragString);
382 
384  virtual float fogDensity(const osg::Camera* osgCamera) const;
385 
387  virtual Vector4_32 fogColor(const osg::Camera* osgCamera) const;
388 
390  virtual Vector4_32 ambientColor(const osg::Camera* osgCamera) const;
391 
393  virtual Vector4_32 diffuseColor(const osg::Camera* osgCamera) const;
394 
396  virtual Vector3_32 lightPosition(const osg::Camera* osgCamera) const;
397 
398  virtual float smoothingDistance(void) const;
399 
401  virtual const DtThreadCameraStreamDataManagerBase* tcsDataManager(void) const;
402 
404  virtual DtThreadCameraStreamDataManagerBase* tcsDataManager(void);
405 
407  virtual void setCubeMapDirtyState(int val);
408 
410  virtual DtCloudDrawable* cloudDrawable(void);
411 
413  virtual void clearCachedProgramsAndUniformLocations(DtThreadCameraStreamDataManagerBase* tcsDataManager);
414 
416  virtual DtSilverLiningGroupSkyLightTcsUserData* getOrCreateSkyLightUserData(const osg::Camera* osgCamera);
417 
419  virtual const DtSilverLiningGroupSkyLightTcsUserData* findSkyLightUserData(const osg::Camera* osgCamera) const;
420 
426  static void enableBillboardRotation(bool val);
427  static bool billboardRotationEnabled();
428 
429  static double maxPrecipitationAltitude(void);
430  protected:
431 
433  virtual void addLayer(DtCloudLayerId layerId, const DtSilverLiningCloudLayer& layer);
434 
435 
436  virtual int calculateZoneByLongitude(double longitude) const;
437 
439  virtual void setDateAndTime(unsigned short year, unsigned char month, unsigned char day
440  , unsigned char hour, unsigned char minutes, double seconds
442  , bool observeDaylightSavings, bool useGlobalTimeZoneOverride
443  , bool updateTimeInAtmosphere);
444 
447  virtual void fillConditionsFromSkyObjectAtCreation(DtOsgSkyObject* skyObject);
448 
449  virtual void addPrecipitationToClouds(int type, float mmPerHour);
450 
451  virtual void updatePrecipitation(const DtVector& location, SilverLining::ThreadCameraStreamData* tcsData) const;
452 
453  virtual void setCloudVisibility(const osg::Camera* osgCamera, SilverLining::ThreadCameraStreamData* slTcsData, SilverLining::Location* slLocation);
454 
456  virtual void traverse(osg::NodeVisitor& nv);
457 
460  virtual void updateCubeMap(osg::ref_ptr<const osg::Camera> osgCamera);
461 
463  virtual void slot_reloadShader();
464 
465  //Setup the light override/smoothing override IMGUI sliders which allow for debug overriding of light position
466  virtual void updateImGui(float& x, float& y, float& z, SilverLining::ThreadCameraStreamData* slTcsData
467  , SilverLining::Location* slLocation);
468 
471  virtual void calculateAndFillFogParameters(osg::ref_ptr<const osg::Camera> osgCamera, SilverLining::ThreadCameraStreamData* slTcsData, SilverLining::Location* slLocation
472  , DtSilverLiningFogParameters& fogParameters, bool adjustCoverage) const;
473 
475  virtual bool isTimeAndZoneTheSameExcludingMinutesAndSeconds(const SilverLining::LocalTime* lhs, const SilverLining::LocalTime* rhs) const;
476 
479  virtual void updateImGuiAndGetModifiersOffOfImgGui(DtCrepuscularRaysModifiers& modifiers
480  , float r, float g, float b
481  , float sunPosX, float sunPosY, float sunPosZ
482  , float exposure) const;
483 
485  virtual void fillRaysParameters(SilverLining::Vector3& sunClipPos, SilverLining::Vector4& slparams, const SilverLining::ThreadCameraStreamData* tcsData, const SilverLining::Atmosphere* atmosphere) const;
486 
488  virtual void computeSunPositionClipSpace(SilverLining::Vector3& sunClip, bool& clipped, bool& behind, const SilverLining::Vector3& sunWorld, const SilverLining::ThreadCameraStreamData* tcsData) const;
489 
491  virtual void updateTimeInAtmosphere(osg::ref_ptr<const osg::Camera> osgCamera);
492 
494  virtual const osg::Camera* actualCameraIfMultiView(const osg::Camera* _osgCamera) const;
495 
497  virtual void destroyAtmosphere(SilverLining::Atmosphere* atmosphere);
498 
503  virtual void releaseAtmosphere();
504 
506  virtual void objectDeleted(void* object);
507 
509  virtual void deleteSlTcsData(SilverLining::ThreadCameraStreamData* slTcsData
510  , SilverLining::Atmosphere* atmosphere);
511 
513  virtual int numOutstandingUserDatas(DtThreadCameraStreamDataManagerBase* tcsDataManager) const;
514 
516  virtual void copySlTcsDatasTo(tbb::concurrent_queue<SilverLining::ThreadCameraStreamData*>& slTcsDatas) const;
517 
519  virtual void markForceRelight(DtThreadCameraStreamDataManagerBase* tcsDataManager);
520  protected:
521 
524 
526  SilverLining::Atmosphere* myAtmosphere;
527 
529 
533 
534  Vector4_32 myFogColor, myBlendedFogColor, myHorizonColor;
536 
539 
541  float myTurbidity;
543 
552 
554 
557 
558  float myFogHeight, myFogThresholdDistance;
559 
560 
563 
565 
567 
568  //default OpenGL compiled shaders needed for silver lining to work after sensorFX is installed
569  std::vector<unsigned int> myDefaultShaderVector;
570 
573 
575 
577 
578  // imgui overrides
580  // imgui for light override
584  // imgui for smoothing override
587 
589 
591  static std::atomic<int> theSlTcsDatasCount;
592  static const bool theSlTcsDatasCountLog;
593 
594  // This is used to set a unique name for the sl tcs data cameras as they come in/go out of the system
595  static std::atomic<int> theCameraId;
596 
600 
601  // beyond this, atmosphere time gets set again
603  static const float theAtmosphereTresholdTrigger; // used to be 0.1; but 0.2 is frequent enough
604 
606 
607  static const double theGeocTrueLightingAltitude;
608  static const double theMaxPrecipitationAltitude;
609  static const double theMaximumCloudVisibility;
610  static const double theSkyFogginess;
611  static const double theSkyHazeHeightFactor;
612  static const double theSunAlphaFactor;
613 
616 
620  friend class DtSlTcsDataDeleter;
621 
624 
626  };
627 }
628 
629 
static std::atomic< int > theCameraId
my atmosphere.
Definition: DtSilverliningGroup.h:595
DtSilverliningGroup * myParent
Definition: DtSilverliningGroup.h:91
Vector3_32 myOverrideLightPosition
my atmosphere.
Definition: DtSilverliningGroup.h:582
static DtDtSilverLiningGroupCameraObserver theCameraObserver
static so that the observer is never deleted before the camera
Definition: DtSilverliningGroup.h:615
bool myDrawStars
my atmosphere.
Definition: DtSilverliningGroup.h:571
bool myFailedInit
my atmosphere.
Definition: DtSilverliningGroup.h:576
Manager for DtThreadCameraStreamData Holds them as cameras come in. Deletes them as cameras go out (v...
Definition: DtThreadCameraStreamDataManager.h:86
osg::ref_ptr< DtLightManagerGroup > myLightManagerGroup
my atmosphere.
Definition: DtSilverliningGroup.h:532
This represents per camera, context (tcs) specific data for DtSilverLiningGroup Unlike DtSilverLining...
Definition: DtSilverLiningGroupTcsUserData.h:134
DtSilverLiningGroupTcsUserDataCreator & myUserDataCreator
my atmosphere.
Definition: DtSilverliningGroup.h:588
static const double theSkyFogginess
my atmosphere.
Definition: DtSilverliningGroup.h:610
static const double theGeocTrueLightingAltitude
my atmosphere.
Definition: DtSilverliningGroup.h:607
Definition: DtSilverLiningCloudLayer.h:28
osg::ref_ptr< osg::Geode > myCloudGeode
my atmosphere.
Definition: DtSilverliningGroup.h:531
std::unordered_map< DtCloudLayerId, DtSilverLiningCloudLayer > CloudLayerMap
Definition: DtSilverLiningCloudLayer.h:71
bool myDrawSunMoon
my atmosphere.
Definition: DtSilverliningGroup.h:572
Vector2_32 myWind
my atmosphere.
Definition: DtSilverliningGroup.h:535
A drawable for drawing the cloud layer.
Definition: DtCloudDrawable.h:52
DtGlDeleteObjectManager & myGlDeleteObjectManager
my atmosphere.
Definition: DtSilverliningGroup.h:590
DtCloudLayerManager * myLayerManager
my atmosphere.
Definition: DtSilverliningGroup.h:528
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
Contains makVrv::DtCloudCoverManager class.
osg::ref_ptr< DtOsgGlobalShaderComponent > myGlobalShaderComponent
my atmosphere.
Definition: DtSilverliningGroup.h:566
float myForcedMoonLat
my atmosphere.
Definition: DtSilverliningGroup.h:549
float myForcedSunLat
my atmosphere.
Definition: DtSilverliningGroup.h:547
OpenThreads::Mutex myMutex
my atmosphere.
Definition: DtSilverliningGroup.h:523
double myLastImGuiSimTime
my atmosphere.
Definition: DtSilverliningGroup.h:579
Contains the DtThreadCameraStreamDataManager class declaration.
friend DtSilverliningGroupCreator
only creator can created
Definition: DtSilverliningGroup.h:101
struture used to exhchange/communicate various crepuscular rays parameters
Definition: DtCrepuscularRaysParameters.h:20
static const double theSkyHazeHeightFactor
my atmosphere.
Definition: DtSilverliningGroup.h:611
static const float theAtmosphereTresholdTrigger
in seconds
Definition: DtSilverliningGroup.h:603
intermediate structure for computing and returning fog parameters
Definition: DtSilverLiningFogParameters.h:19
An OSG implementation of the sky.
Definition: DtOsgSkyObject.h:28
This represents per camera, context (tcs) specific data for DtSilverLiningGroup.
Definition: DtSilverLiningGroupTcsUserData.h:46
Contains makVrv::DtSilverLiningGroupTcsUserData class.
osg::ref_ptr< DtOsgFogComponent > myFogComponent
my atmosphere.
Definition: DtSilverliningGroup.h:564
bool myUse16BitEnviroMap
my atmosphere.
Definition: DtSilverliningGroup.h:555
A group node which adds a silver-lining sky and will light all Children with the proper lighting para...
Definition: DtSilverliningGroup.h:97
int myGlobalPrecipitationType
my atmosphere.
Definition: DtSilverliningGroup.h:561
float myFogDensity
my atmosphere.
Definition: DtSilverliningGroup.h:538
float myForcedMoonLon
my atmosphere.
Definition: DtSilverliningGroup.h:550
const char * creatorTypeName< DtSilverliningGroup >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSilverliningGroup.h:81
static const float theDefaultCubeMapUpdateAndRelightTime
beyond this the cube map gets triggered to be updated. Its also the time used to fudge the current ti...
Definition: DtSilverliningGroup.h:599
DtSilverLiningGroupSkyLightTcsUserDataCreator & mySkyLightUserDataCreator
my atmosphere.
Definition: DtSilverliningGroup.h:623
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
virtual void objectDeleted(void *) override
bool myHasFixedHorizonColor
my atmosphere.
Definition: DtSilverliningGroup.h:537
bool myForcedSunAndMoonUsingHorizonCoords
my atmosphere.
Definition: DtSilverliningGroup.h:551
DtDe & myDe
my atmosphere.
Definition: DtSilverliningGroup.h:522
DtOsgLightManager & myOsgLightManager
my atmosphere.
Definition: DtSilverliningGroup.h:625
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
float myForcedSunLon
my atmosphere.
Definition: DtSilverliningGroup.h:548
float myTurbidity
my atmosphere.
Definition: DtSilverliningGroup.h:541
Definition: DtSilverliningGroup.h:86
bool mySunAndMoonPositionForced
my atmosphere.
Definition: DtSilverliningGroup.h:546
DtOsgLightManager receives LightSource nodes from the DtOsgCullVisitor, and collects them all here wh...
Definition: DtOsgLightManager.h:55
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
State component that injects Fog rendering capabilities into a state set.
Definition: DtOsgFogComponent.h:34
Vector4_32 myHorizonColor
my atmosphere.
Definition: DtSilverliningGroup.h:534
float myStratocumulusVoxelDimension
my atmosphere.
Definition: DtSilverliningGroup.h:553
bool myMoonPhaseForced
my atmosphere.
Definition: DtSilverliningGroup.h:544
Definition: DtCloudLayerManager.h:53
std::vector< unsigned int > myDefaultShaderVector
my atmosphere.
Definition: DtSilverliningGroup.h:569
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
static const double theMaximumCloudVisibility
my atmosphere.
Definition: DtSilverliningGroup.h:609
float mySmoothCloudsDist
my atmosphere.
Definition: DtSilverliningGroup.h:586
Contains vrvCore::DtCloudLayerRecord declaration.
Manager for DtKeyedData Used to create/manage DtKeyedData Each entry of DtKeyedData is associated wit...
Definition: DtKeyedDataManagerTemplate.h:48
bool myCubeMapEnabled
my atmosphere.
Definition: DtSilverliningGroup.h:542
static bool theBillboardRotationEnabled
my atmosphere.
Definition: DtSilverliningGroup.h:605
static std::atomic< int > theSlTcsDatasCount
my atmosphere.
Definition: DtSilverliningGroup.h:591
DtVirtualBaseClassCreator< DtSilverliningGroup > DtSilverliningGroupCreator
creator
Definition: DtSilverliningGroup.h:74
bool myEnableSmoothClouds
my atmosphere.
Definition: DtSilverliningGroup.h:585
Base class to provide boost signal/slot management.
SilverLining::Atmosphere * myAtmosphere
my atmosphere.
Definition: DtSilverliningGroup.h:526
Vaos are OpenGL context specific. They need to be deleted in the context they are created in...
Definition: DtGlDeleteObjectManager.h:58
bool myUsingSensorFXShader
my atmosphere.
Definition: DtSilverliningGroup.h:556
float myGlobalPrecipitationIntensity
my atmosphere.
Definition: DtSilverliningGroup.h:562
DtThreadCameraStreamDataManager & myGlobalTcsDataManager
my atmosphere.
Definition: DtSilverliningGroup.h:622
static const double theMaxPrecipitationAltitude
my atmosphere.
Definition: DtSilverliningGroup.h:608
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
static const double theSunAlphaFactor
my atmosphere.
Definition: DtSilverliningGroup.h:612
Contains DLL export macros.
osg::ref_ptr< osg::Geode > mySkyGeode
my atmosphere.
Definition: DtSilverliningGroup.h:530
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
bool myUseAzimuthElevationForOverrideGui
my atmosphere.
Definition: DtSilverliningGroup.h:583
bool myOverrideLightPositionEnabled
my atmosphere.
Definition: DtSilverliningGroup.h:581
Contains makVrv::DtSilverLiningCloudLayer struct.
static const bool theSlTcsDatasCountLog
my atmosphere.
Definition: DtSilverliningGroup.h:592
float myFogThresholdDistance
my atmosphere.
Definition: DtSilverliningGroup.h:558
float myForcedMoonPhase
my atmosphere.
Definition: DtSilverliningGroup.h:545
float myVisibility
my atmosphere.
Definition: DtSilverliningGroup.h:540
Contains the DtOsgGlobalShaderComponent class.
virtual bool getFailedInit()
Definition: DtSilverliningGroup.h:293
DtSignalConnectionManager myConnections
my atmosphere.
Definition: DtSilverliningGroup.h:574
Definition: vrfObjectManipulationHandlerBaseClass.h:66

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)