13 #include <vrvCore/DtShadowSettingsObjectAgent.hpp>
23 class DtShadowSettingsManager;
27 makArchives::DtShadowSettingsCollectionRecord >
32 const std::string& name,
const std::string& displayName);
38 virtual int currentSelectedShadowSettings()
const;
39 virtual void setCurrentSelectedShadowSettings(
int quality);
64 virtual void createShadowSettings();
68 int lookupShadowQuality(
const std::string& stringKey)
const;
71 const std::string* findShadowQualityStringKey(
int quality)
const;
74 void setName(
int quality,
const std::string& name);
77 std::string name(
int quality)
const;
80 void setEntitiesCastsShadows(
int quality,
bool castShadows);
83 bool entitiesCastsShadows(
int quality)
const;
86 bool entitiesCastsShadows()
const;
89 void setPropsCastsShadows(
int quality,
bool castShadows);
92 bool propsCastsShadows(
int quality)
const;
95 bool propsCastsShadows()
const;
98 void setTerrainCastsShadows(
int quality,
bool castShadows);
101 bool terrainCastsShadows(
int quality)
const;
104 bool terrainCastsShadows()
const;
107 void setMoonCastsShadows(
int quality,
bool castShadows);
110 bool moonCastsShadows(
int quality)
const;
113 bool moonCastsShadows()
const;
116 void setCloudsCastsShadows(
int quality,
bool castShadows);
119 bool cloudsCastsShadows(
int quality)
const;
122 bool cloudsCastsShadows()
const;
125 void setVisualizeShadows(
int quality,
bool visualizeShadows);
128 bool visualizeShadows(
int quality)
const;
131 bool visualizeShadows()
const;
134 void setNumberOfSplits(
int quality,
unsigned int numSplits);
137 unsigned int numberOfSplits(
int quality)
const;
140 unsigned int numberOfSplits()
const;
143 void setUseFrontFaceCulling(
int quality,
bool useFrontFaceCulling);
146 bool useFrontFaceCulling(
int quality)
const;
149 bool useFrontFaceCulling()
const;
153 void setUseCachedFarCascade(
int quality,
bool useCachedFarCascade);
156 bool useCachedFarCascade()
const;
159 void setFarCascadeUpdateFrequency(
int quality,
double update_freq);
162 double farCascadeUpdateFrequency();
165 void setAdjustFarAndFlagsBasedOnHAT(
int quality,
bool adaptive);
168 bool adjustFarAndFlagsBasedOnHAT();
171 void setUsePolygonOffset(
int quality,
bool usePolygonOffset);
174 bool usePolygonOffset(
int quality)
const;
177 bool usePolygonOffset()
const;
180 void setPolygonOffset(
int quality,
unsigned int splitIndex,
float factor,
float units);
183 float polygonOffsetFactor(
int quality,
unsigned int splitIndex)
const;
186 float polygonOffsetFactor(
unsigned int splitIndex)
const;
189 float polygonOffsetUnits(
int quality,
unsigned int splitIndex)
const;
192 float polygonOffsetUnits(
unsigned int splitIndex)
const;
195 void setSpotLightShadowMapSize(
int quality,
unsigned int size);
198 unsigned int spotLightShadowMapSize(
int quality)
const;
201 unsigned int spotLightShadowMapSize()
const;
204 void setGlobalLightShadowMapSize(
int quality,
unsigned int size);
207 unsigned int globalLightShadowMapSize()
const;
210 unsigned int globalLightShadowMapSize(
int quality)
const;
213 void setUseMaximumViewDistance(
int quality,
bool useMaximumViewDistance);
216 bool useMaximumViewDistance(
int quality)
const;
219 bool useMaximumViewDistance()
const;
222 void setMaximumViewDistance(
int quality,
double viewDistance);
225 double maximumViewDistance(
int quality)
const;
228 double maximumViewDistance()
const;
231 void setSplitNearDistanceMinimumBias(
int quality,
double bias);
234 double splitNearDistanceMinimumBias(
int quality)
const;
237 double splitNearDistanceMinimumBias()
const;
240 void setSplitNearDistanceMaximumBias(
int quality,
double bias);
243 double splitNearDistanceMaximumBias(
int quality)
const;
246 double splitNearDistanceMaximumBias()
const;
249 void setSplitFarDistanceBias(
int quality,
double bias);
252 double splitFarDistanceBias(
int quality)
const;
255 double splitFarDistanceBias()
const;
258 void setShadowAmbientFactor(
int quality,
float shadowAmbientFactor);
261 float shadowAmbientFactor(
int quality)
const;
264 float shadowAmbientFactor()
const;
276 void setAntiFlickerQuantizationFactor(
int quality,
float antiFlickerQuantizationFactor);
279 float antiFlickerQuantizationFactor(
int quality)
const;
282 float antiFlickerQuantizationFactor()
const;
294 void setMixedSplitInterpolationValue(
int quality,
double interp);
297 double mixedSplitInterpolationValue(
int quality)
const;
300 double mixedSplitInterpolationValue()
const;
349 void setUseViewportMulticast(
int quality,
bool useViewportMulticast);
352 bool useViewportMulticast()
const;
355 void setNumPersistentPassesPerCascade(
int quality,
unsigned int numPasses);
358 unsigned int numPersistentPassesPerCascade(
int quality)
const;
361 unsigned int numPersistentPassesPerCascade()
const;
364 void setNumAdditionalPassesPerCascade(
int quality,
unsigned int numPasses);
367 unsigned int numAdditionalPassesPerCascade(
int quality)
const;
370 unsigned int numAdditionalPassesPerCascade()
const;
373 void setPcfFilterWidth(
int quality,
unsigned int pcfFilterWidth);
376 unsigned int pcfFilterWidth(
int quality)
const;
379 unsigned int pcfFilterWidth()
const;
382 void setBlendCascadesBoundaries(
int quality,
bool blendCascadesBoundaries);
385 bool blendCascadesBoundaries(
int quality)
const;
388 bool blendCascadesBoundaries()
const;
391 void setUseSDSM(
int quality,
bool useSDSM);
394 bool useSDSM(
int quality)
const;
397 bool useSDSM()
const;
400 void setSDSMReadBackLatency(
int quality,
unsigned int sdsmReadBackLatency);
403 unsigned int sdsmReadBackLatency(
int quality)
const;
406 unsigned int sdsmReadBackLatency()
const;
409 void setUseCameraDepthBufferForSDSM(
int quality,
bool useCameraDepthBufferForSDSM);
412 bool useCameraDepthBufferForSDSM(
int quality)
const;
415 bool useCameraDepthBufferForSDSM()
const;
418 void setEVSMPositiveExponent(
int quality,
double evsmPositiveExponent);
421 double evsmPositiveExponent(
int quality)
const;
424 double evsmPositiveExponent()
const;
427 void setEVSMNegativeExponent(
int quality,
double evsmNegativeExponent);
430 double evsmNegativeExponent(
int quality)
const;
433 double evsmNegativeExponent()
const;
436 void setVSMMininumVariance(
int quality,
double vsmMininumVariance);
439 double vsmMininumVariance(
int quality)
const;
442 double vsmMininumVariance()
const;
445 void setESMDarkeningFactor(
int quality,
double esmDarkeningFactor);
448 double esmDarkeningFactor(
int quality)
const;
451 double esmDarkeningFactor()
const;
454 void setDirty(
int quality,
bool dirty);
457 bool dirty(
int quality)
const;
463 void setCurrentPolygonOffsetCascade(
unsigned int cascade);
466 unsigned int currentPolygonOffsetCascade()
const;
472 virtual void loadDefaults();
479 virtual void importSettings(
const std::string& filePath);
651 template <
typename ManagerClass>
655 template <
typename ManagerClass>
666 DtShadowSettingsObjectAgent* getShadowSettingsObjectAgentPtr(
int quality)
const;
670 virtual void addShadowSettingsObjectAgent(
int quality,
const std::string& stringKey, DtShadowSettingsObjectAgent* agent);
675 virtual void createShadowSettings(
int quality,
const std::string& stringKey);
678 virtual void removeShadowQuality(
int quality);
681 virtual void clear();
683 virtual void initializeBackup();
SplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:39
Base class for (non-shared) settings managers.
Definition: DtBaseSettingsManager.h:271
boost::signal< void(int, int)> shadowSettingsCloudsCastsShadowsChanged
brief signal that the indicated shadow setting's clouds casts shadows changed
Definition: DtShadowSettingsManager.h:518
unsigned int myCurrentQualitySetting
Definition: DtShadowSettingsManager.h:687
boost::signal< void(int, const std::string &)> shadowSettingsNameChanged
brief signal that the indicated shadow setting's name changed
Definition: DtShadowSettingsManager.h:503
DataStorageScheme
Definition: DtShadowSettingsRecord.h:52
boost::signal< void(int, double)> shadowSettingsMixedSplitInterpolationValueChanged
brief signal that the indicated shadow setting's mixed logarithmic uniform split interpolation value ...
Definition: DtShadowSettingsManager.h:584
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signal< void(int, unsigned int, float)> shadowSettingsPolygonOffsetFactorChanged
brief signal that the indicated shadow setting's polygon offset factor parameter changed ...
Definition: DtShadowSettingsManager.h:545
boost::signal< void(int, int)> shadowSettingsPropsCastsShadowsChanged
brief signal that the indicated shadow setting's props casts shadows changed
Definition: DtShadowSettingsManager.h:509
Creator for DtShadowSettingsManager class.
Definition: DtShadowSettingsManager.h:716
boost::signal< void(int, double)> shadowSettingsSplitNearDistanceMinimumBiasChanged
brief signal that the indicated shadow setting's split near distance minimum bias changed ...
Definition: DtShadowSettingsManager.h:563
boost::signal< void(int, int)> shadowSettingsPoissonDiskSamplingSchemeChanged
brief signal that the indicated shadow setting's poisson disk sampling scheme changed ...
Definition: DtShadowSettingsManager.h:599
boost::signal< void(int)> shadowSettingsAdded
signal that the indicated shadow setting was added
Definition: DtShadowSettingsManager.h:638
DtShadowSettingsRecord is the serializable record used to read and write a Shadow Setting's Configura...
Definition: DtShadowSettingsRecord.h:29
int myCurrentSelectedShadowSettings
Definition: DtShadowSettingsManager.h:42
boost::signal< void(int, int)> shadowSettingsShadowStabilizationSchemeChanged
brief signal that the indicated shadow setting's shadow stabilization scheme changed ...
Definition: DtShadowSettingsManager.h:575
Record of a collection of shadow definitions.
Definition: DtShadowSettingsCollectionRecord.h:15
FilteringScheme
Definition: DtShadowSettingsRecord.h:68
A Record of an IG instance.
Definition: DtDeRecord.h:24
boost::signal< void(int, float)> shadowSettingsAntiFlickerQuantizationFactorChanged
brief signal that the indicated shadow setting's shadow anti-flicker quantization value for approxima...
Definition: DtShadowSettingsManager.h:578
boost::signal< void(int, unsigned int)> shadowSettingsSDSMReadBackLatencyChanged
brief signal that the indicated shadow setting's sdsm read back latency changed
Definition: DtShadowSettingsManager.h:617
boost::signal< void(int, int)> shadowSettingsSplitDistanceComputeSchemeChanged
brief signal that the indicated shadow setting's split distance compute scheme changed ...
Definition: DtShadowSettingsManager.h:581
voidpf void uLong size
Definition: ioapi.h:39
boost::signal< void(int, bool)> shadowSettingsUsePolygonOffsetChanged
brief signal that the indicated shadow setting's use polygon offset changed
Definition: DtShadowSettingsManager.h:542
unsigned int myCurrentPolygonOffsetCascade
Definition: DtShadowSettingsManager.h:689
ShadowSettingsObjectAgentsMap myShadowSettingsObjectAgentsMap
Definition: DtShadowSettingsManager.h:709
Contains makVrv::DtShadowSettingsObject class.
boost::signal< void(int, int)> shadowSettingsSplitSelectionSchemeChanged
brief signal that the indicated shadow setting's split selection scheme changed
Definition: DtShadowSettingsManager.h:587
The makVrv::DtRecordSettingsBackup is a templaced class that settings records will use in order to ba...
Definition: DtRecordSettingsBackup.h:103
boost::signal< void(int, unsigned int, float)> shadowSettingsPolygonOffsetUnitsChanged
brief signal that the indicated shadow setting's polygon offset unit parameter changed ...
Definition: DtShadowSettingsManager.h:548
boost::signal< void(int, double)> shadowSettingsSplitNearDistanceMaximumBiasChanged
brief signal that the indicated shadow setting's split near distance maximum bias changed ...
Definition: DtShadowSettingsManager.h:566
boost::signal< void(int, int)> shadowSettingsSpotLightShadowMapSizeChanged
brief signal that the indicated shadow setting's spot light texture atlas size changed ...
Definition: DtShadowSettingsManager.h:551
boost::signal< void(int, int)> shadowSettingsVisualizeShadowsChanged
brief signal that the indicated shadow setting's shadow visualization mode changed ...
Definition: DtShadowSettingsManager.h:521
boost::signal< void(int, int)> shadowSettingsTerrainCastsShadowsChanged
brief signal that the indicated shadow setting's terrain casts shadows changed
Definition: DtShadowSettingsManager.h:512
boost::signal< void(int, int)> shadowSettingsMoonCastsShadowsChanged
brief signal that the indicated shadow setting's moon casts shadows changed
Definition: DtShadowSettingsManager.h:515
boost::signal< void(int)> shadowSettingsToBeRemoved
signal that the indicated shadow setting is about to be removed
Definition: DtShadowSettingsManager.h:641
boost::signal< void(int, bool)> shadowSettingsUseCameraDepthBufferForSDSMChanged
brief signal that the indicated shadow setting's use camera depth buffer for sdsm flag changed ...
Definition: DtShadowSettingsManager.h:620
boost::signal< void(int, int)> shadowSettingsFilteringSchemeChanged
brief signal that the indicated shadow setting's filtering scheme changed
Definition: DtShadowSettingsManager.h:596
SplitSelectionScheme
Definition: DtShadowSettingsRecord.h:46
boost::signal< void(int, int)> shadowSettingsGlobalLightShadowMapSizeChanged
brief signal that the indicated shadow setting's global light texture size for cascaded shadow mappin...
Definition: DtShadowSettingsManager.h:554
boost::signal< void(int, bool)> shadowSettingsUseSDSMChanged
brief signal that the indicated shadow setting's use sdsm flag changed
Definition: DtShadowSettingsManager.h:614
boost::signal< void(int, bool)> shadowSettingsAdjustFarAndFlagsBasedOnHATChanged
brief signal near cascades automatically change size and flags in the air
Definition: DtShadowSettingsManager.h:536
boost::signal< void(int, double)> shadowSettingsEVSMNegativeExponentChanged
brief signal that the indicated shadow setting's evsm negative exponent changed
Definition: DtShadowSettingsManager.h:626
boost::signal< void(int, unsigned int)> shadowSettingsNumAdditionalPassesPerCascadeChanged
brief signal that the indicated shadow setting's additional number of passes per cascade changed ...
Definition: DtShadowSettingsManager.h:605
DtStringKeyConverter is used to convert string-based keys, used in files for things like model sets a...
Definition: DtStringKeyConverter.h:33
boost::signal< void(int, int)> shadowSettingsDataStorageSchemeChanged
brief signal that the indicated shadow setting's data storage scheme changed
Definition: DtShadowSettingsManager.h:590
std::string myName
Definition: DtShadowSettingsManager.h:691
int myQuality
Definition: DtShadowSettingsManager.h:693
boost::signal< void(int, bool)> shadowSettingsUseCachedFarCascadeChanged
brief signal that the indicated shadow setting's use cached far cascade changed
Definition: DtShadowSettingsManager.h:530
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::map< int, DtShadowSettingsObjectAgent * > ShadowSettingsObjectAgents
Type returned when retrieving all observer modes.
Definition: DtShadowSettingsManager.h:698
DtShadowSettingsManager is responsible for loading and saving observer modes, and providing a mechani...
Definition: DtShadowSettingsManager.h:52
ShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:32
boost::signal< void(int, int)> shadowSettingsEntitiesCastsShadowsChanged
brief signal that the indicated shadow setting's entities casts shadows changed
Definition: DtShadowSettingsManager.h:506
makArchives::DtShadowSettingsRecord * myCurrentSettings
Definition: DtShadowSettingsManager.h:695
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:840
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:26
boost::signal< void(int, double)> shadowSettingsFarCascadeUpdateFreqChanged
brief signal that the indicated shadow setting's far cascade update changed
Definition: DtShadowSettingsManager.h:533
boost::signal< void(int, float)> shadowSettingsShadowFactorChanged
brief signal that the indicated shadow setting's shadow factor for modulating the scene changed ...
Definition: DtShadowSettingsManager.h:572
PoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:78
boost::signal< void(int, bool)> shadowSettingsUseFrontFaceCullingChanged
brief signal that the indicated shadow setting's use front face culling changed
Definition: DtShadowSettingsManager.h:527
boost::signal< void(int, int)> shadowSettingsPreFilteringSchemeChanged
brief signal that the indicated shadow setting's pre-filtering scheme changed
Definition: DtShadowSettingsManager.h:593
boost::signal< void(int, double)> shadowSettingsSplitFarDistanceBiasChanged
brief signal that the indicated shadow setting's split far distance bias changed
Definition: DtShadowSettingsManager.h:569
Contains makArchives::DtShadowSettingsRecord class.
ShadowSettingsObjectAgents myShadowSettingsObjectAgents
Definition: DtShadowSettingsManager.h:706
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function.
Definition: DtDe.h:802
boost::signal< void(int, double)> shadowSettingsEVSMPositiveExponentChanged
brief signal that the indicated shadow setting's evsm positive exponent changed
Definition: DtShadowSettingsManager.h:623
DtStringKeyConverter * myStringKeyConverter
Definition: DtShadowSettingsManager.h:703
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signal< void(int, unsigned int)> shadowSettingsNumPersistentPassesPerCascadeChanged
brief signal that the indicated shadow setting's persistent number of passes per cascade changed ...
Definition: DtShadowSettingsManager.h:602
boost::signal< void(int, double)> shadowSettingsESMDarkeningFactorChanged
brief signal that the indicated shadow setting's esm darkening factor changed
Definition: DtShadowSettingsManager.h:632
boost::signal< void(int, bool)> shadowSettingsBlendCascadesBoundariesChanged
brief signal that the indicated shadow setting's blend cascades boundaries changed ...
Definition: DtShadowSettingsManager.h:611
boost::signal< void(int, double)> shadowSettingsMaximumViewDistanceChanged
brief signal that the indicated shadow setting's maximum view distance changed
Definition: DtShadowSettingsManager.h:560
Definition: DtShadowSettingsManager.h:25
std::map< std::string, int > ShadowSettingsObjectAgentsMap
Map type for mapping observer mode names to integer keys.
Definition: DtShadowSettingsManager.h:701
boost::signal< void(int, double)> shadowSettingsVSMMininumVarianceChanged
brief signal that the indicated shadow setting's vsm minimum variance changed
Definition: DtShadowSettingsManager.h:629
boost::signal< void(int, int)> shadowSettingsNumberOfSplitsChanged
brief signal that the indicated shadow setting's shadow visualization mode changed ...
Definition: DtShadowSettingsManager.h:524
boost::signal< void(int, bool)> shadowSettingsDirtyChanged
brief signal that the indicated shadow setting's dirty flag changed
Definition: DtShadowSettingsManager.h:635
boost::signal< void(int, bool)> shadowSettingsUseViewportMulticastChanged
brief signal that the indicated shadow setting's use viewport multicast changed
Definition: DtShadowSettingsManager.h:539
boost::signal< void(int, bool)> shadowSettingsUseMaximumViewDistanceChanged
brief signal that the indicated shadow setting's use maximum view distance changed ...
Definition: DtShadowSettingsManager.h:557
boost::signal< void(int, unsigned int)> shadowSettingsPcfFilterWidthChanged
brief signal that the indicated shadow setting's PCF filter width changed
Definition: DtShadowSettingsManager.h:608
PreFilteringScheme
Definition: DtShadowSettingsRecord.h:59
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.