13 #include <vrvCore/DtShadowSettingsObjectAgent.hpp>
23 class DtShadowSettingsManager;
25 class DtStringKeyConverter;
30 makArchives::DtShadowSettingsCollectionRecord >
35 const std::string& name,
const std::string& displayName);
41 virtual int currentSelectedShadowSettings()
const;
42 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 setShadowsEnabled(
bool shadowsEnabled);
83 bool shadowsEnabled()
const;
86 void setShadowsEnabledOnOcean(
bool enabled);
89 bool shadowsEnabledOnOcean()
const;
92 void setEntitiesCastsShadows(
int quality,
bool castShadows);
95 bool entitiesCastsShadows(
int quality)
const;
98 bool entitiesCastsShadows()
const;
101 void setPropsCastsShadows(
int quality,
bool castShadows);
104 bool propsCastsShadows(
int quality)
const;
107 bool propsCastsShadows()
const;
110 void setTerrainCastsShadows(
int quality,
bool castShadows);
113 bool terrainCastsShadows(
int quality)
const;
116 bool terrainCastsShadows()
const;
119 void setMoonCastsShadows(
int quality,
bool castShadows);
122 bool moonCastsShadows(
int quality)
const;
125 bool moonCastsShadows()
const;
128 void setVisualizeShadows(
int quality,
bool visualizeShadows);
131 bool visualizeShadows(
int quality)
const;
134 bool visualizeShadows()
const;
137 void setNumberOfSplits(
int quality,
unsigned int numSplits);
140 unsigned int numberOfSplits(
int quality)
const;
143 unsigned int numberOfSplits()
const;
146 void setUseFrontFaceCulling(
int quality,
bool useFrontFaceCulling);
149 bool useFrontFaceCulling(
int quality)
const;
152 bool useFrontFaceCulling()
const;
156 void setUseCachedFarCascade(
int quality,
bool useCachedFarCascade);
159 bool useCachedFarCascade()
const;
162 void setFarCascadeUpdateFrequency(
int quality,
double update_freq);
165 double farCascadeUpdateFrequency();
168 void setAdjustFarAndFlagsBasedOnHAT(
int quality,
bool adaptive);
171 bool adjustFarAndFlagsBasedOnHAT();
174 void setUsePolygonOffset(
int quality,
bool usePolygonOffset);
177 bool usePolygonOffset(
int quality)
const;
180 bool usePolygonOffset()
const;
183 void setPolygonOffset(
int quality,
unsigned int splitIndex,
float factor,
float units);
186 float polygonOffsetFactor(
int quality,
unsigned int splitIndex)
const;
189 float polygonOffsetFactor(
unsigned int splitIndex)
const;
192 float polygonOffsetUnits(
int quality,
unsigned int splitIndex)
const;
195 float polygonOffsetUnits(
unsigned int splitIndex)
const;
198 void setSpotLightShadowMapSize(
int quality,
unsigned int size);
201 unsigned int spotLightShadowMapSize(
int quality)
const;
204 unsigned int spotLightShadowMapSize()
const;
207 void setGlobalLightShadowMapSize(
int quality,
unsigned int size);
210 unsigned int globalLightShadowMapSize()
const;
213 unsigned int globalLightShadowMapSize(
int quality)
const;
216 void setUseMaximumViewDistance(
int quality,
bool useMaximumViewDistance);
219 bool useMaximumViewDistance(
int quality)
const;
222 bool useMaximumViewDistance()
const;
225 void setMaximumViewDistance(
int quality,
double viewDistance);
228 double maximumViewDistance(
int quality)
const;
231 double maximumViewDistance()
const;
234 void setSplitNearDistanceMinimumBias(
int quality,
double bias);
237 double splitNearDistanceMinimumBias(
int quality)
const;
240 double splitNearDistanceMinimumBias()
const;
243 void setSplitNearDistanceMaximumBias(
int quality,
double bias);
246 double splitNearDistanceMaximumBias(
int quality)
const;
249 double splitNearDistanceMaximumBias()
const;
252 void setSplitFarDistanceBias(
int quality,
double bias);
255 double splitFarDistanceBias(
int quality)
const;
258 double splitFarDistanceBias()
const;
261 void setShadowAmbientFactor(
int quality,
float shadowAmbientFactor);
264 float shadowAmbientFactor(
int quality)
const;
267 float shadowAmbientFactor()
const;
279 void setAntiFlickerQuantizationFactor(
int quality,
float antiFlickerQuantizationFactor);
282 float antiFlickerQuantizationFactor(
int quality)
const;
285 float antiFlickerQuantizationFactor()
const;
297 void setMixedSplitInterpolationValue(
int quality,
double interp);
300 double mixedSplitInterpolationValue(
int quality)
const;
303 double mixedSplitInterpolationValue()
const;
342 void setUseViewportMulticast(
int quality,
bool useViewportMulticast);
345 bool useViewportMulticast()
const;
348 void setNumPersistentPassesPerCascade(
int quality,
unsigned int numPasses);
351 unsigned int numPersistentPassesPerCascade(
int quality)
const;
354 unsigned int numPersistentPassesPerCascade()
const;
357 void setNumAdditionalPassesPerCascade(
int quality,
unsigned int numPasses);
360 unsigned int numAdditionalPassesPerCascade(
int quality)
const;
363 unsigned int numAdditionalPassesPerCascade()
const;
366 void setPcfFilterWidth(
int quality,
unsigned int pcfFilterWidth);
369 unsigned int pcfFilterWidth(
int quality)
const;
372 unsigned int pcfFilterWidth()
const;
375 void setBlendCascadesBoundaries(
int quality,
bool blendCascadesBoundaries);
378 bool blendCascadesBoundaries(
int quality)
const;
381 bool blendCascadesBoundaries()
const;
384 void setApplyShadowToAmbientLighting(
int quality,
bool applyShadowToAmbientLighting);
387 bool applyShadowToAmbientLighting(
int quality)
const;
390 bool applyShadowToAmbientLighting()
const;
393 void setEVSMPositiveExponent(
int quality,
double evsmPositiveExponent);
396 double evsmPositiveExponent(
int quality)
const;
399 double evsmPositiveExponent()
const;
402 void setEVSMNegativeExponent(
int quality,
double evsmNegativeExponent);
405 double evsmNegativeExponent(
int quality)
const;
408 double evsmNegativeExponent()
const;
411 void setVSMMininumVariance(
int quality,
double vsmMininumVariance);
414 double vsmMininumVariance(
int quality)
const;
417 double vsmMininumVariance()
const;
420 void setESMDarkeningFactor(
int quality,
double esmDarkeningFactor);
423 double esmDarkeningFactor(
int quality)
const;
426 double esmDarkeningFactor()
const;
429 void setDirty(
int quality,
bool dirty);
432 bool dirty(
int quality)
const;
438 void setCurrentPolygonOffsetCascade(
unsigned int cascade);
441 unsigned int currentPolygonOffsetCascade()
const;
447 virtual void loadDefaults();
454 virtual void importSettings(
const std::string& filePath);
620 template <
typename ManagerClass>
624 template <
typename ManagerClass>
641 DtShadowSettingsObjectAgent* getShadowSettingsObjectAgentPtr(
int quality)
const;
645 virtual void addShadowSettingsObjectAgent(
int quality,
const std::string& stringKey, DtShadowSettingsObjectAgent* agent);
650 virtual void createShadowSettings(
int quality,
const std::string& stringKey);
653 virtual void removeShadowQuality(
int quality);
656 virtual void clear();
658 virtual void initializeBackup();
SplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:39
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:283
unsigned int myCurrentQualitySetting
Definition: DtShadowSettingsManager.h:662
boost::signalslib::signal< void(int, int)> shadowSettingsPoissonDiskSamplingSchemeChanged
brief signal that the indicated shadow setting's poisson disk sampling scheme changed ...
Definition: DtShadowSettingsManager.h:574
boost::signalslib::signal< void(bool)> shadowSettingsShadowsEnabledChanged
brief signal that whether or not shadows are enabled has changed
Definition: DtShadowSettingsManager.h:481
boost::signalslib::signal< void(int, double)> shadowSettingsESMDarkeningFactorChanged
brief signal that the indicated shadow setting's esm darkening factor changed
Definition: DtShadowSettingsManager.h:601
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(int, unsigned int, float)> shadowSettingsPolygonOffsetFactorChanged
brief signal that the indicated shadow setting's polygon offset factor parameter changed ...
Definition: DtShadowSettingsManager.h:523
Creator for DtShadowSettingsManager class.
Definition: DtShadowSettingsManager.h:689
DtShadowSettingsRecord is the serializable record used to read and write a Shadow Setting's Configura...
Definition: DtShadowSettingsRecord.h:29
boost::signalslib::signal< void(int, bool)> shadowSettingsUseMaximumViewDistanceChanged
brief signal that the indicated shadow setting's use maximum view distance changed ...
Definition: DtShadowSettingsManager.h:535
boost::signalslib::signal< void(int, int)> shadowSettingsShadowStabilizationSchemeChanged
brief signal that the indicated shadow setting's shadow stabilization scheme changed ...
Definition: DtShadowSettingsManager.h:553
int myCurrentSelectedShadowSettings
Definition: DtShadowSettingsManager.h:45
boost::signalslib::signal< void(int, double)> shadowSettingsMaximumViewDistanceChanged
brief signal that the indicated shadow setting's maximum view distance changed
Definition: DtShadowSettingsManager.h:538
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::signalslib::signal< void(int, const std::string &)> shadowSettingsNameChanged
brief signal that the indicated shadow setting's name changed
Definition: DtShadowSettingsManager.h:478
boost::signalslib::signal< void(int, int)> shadowSettingsMoonCastsShadowsChanged
brief signal that the indicated shadow setting's moon casts shadows changed
Definition: DtShadowSettingsManager.h:496
boost::signalslib::signal< void(int, int)> shadowSettingsNumberOfSplitsChanged
brief signal that the indicated shadow setting's shadow visualization mode changed ...
Definition: DtShadowSettingsManager.h:502
voidpf void uLong size
Definition: ioapi.h:39
boost::signalslib::signal< void(int, int)> shadowSettingsVisualizeShadowsChanged
brief signal that the indicated shadow setting's shadow visualization mode changed ...
Definition: DtShadowSettingsManager.h:499
boost::signalslib::signal< void(int, float)> shadowSettingsShadowFactorChanged
brief signal that the indicated shadow setting's shadow factor for modulating the scene changed ...
Definition: DtShadowSettingsManager.h:550
unsigned int myCurrentPolygonOffsetCascade
Definition: DtShadowSettingsManager.h:664
ShadowSettingsObjectAgentsMap myShadowSettingsObjectAgentsMap
Definition: DtShadowSettingsManager.h:682
boost::signalslib::signal< void(int, bool)> shadowSettingsDirtyChanged
brief signal that the indicated shadow setting's dirty flag changed
Definition: DtShadowSettingsManager.h:604
Contains makVrv::DtShadowSettingsObject class.
boost::signalslib::signal< void(int, double)> shadowSettingsSplitFarDistanceBiasChanged
brief signal that the indicated shadow setting's split far distance bias changed
Definition: DtShadowSettingsManager.h:547
boost::signalslib::signal< void(int, bool)> shadowSettingsUseViewportMulticastChanged
brief signal that the indicated shadow setting's use viewport multicast changed
Definition: DtShadowSettingsManager.h:517
boost::signalslib::signal< void(int, unsigned int)> shadowSettingsPcfFilterWidthChanged
brief signal that the indicated shadow setting's PCF filter width changed
Definition: DtShadowSettingsManager.h:583
boost::signalslib::signal< void(int)> shadowSettingsAdded
signal that the indicated shadow setting was added
Definition: DtShadowSettingsManager.h:607
The makVrv::DtRecordSettingsBackup is a templaced class that settings records will use in order to ba...
Definition: DtRecordSettingsBackup.h:101
boost::signalslib::signal< void(int, double)> shadowSettingsVSMMininumVarianceChanged
brief signal that the indicated shadow setting's vsm minimum variance changed
Definition: DtShadowSettingsManager.h:598
boost::signalslib::signal< void(int, bool)> shadowSettingsUseCachedFarCascadeChanged
brief signal that the indicated shadow setting's use cached far cascade changed
Definition: DtShadowSettingsManager.h:508
boost::signalslib::signal< void(int)> shadowSettingsToBeRemoved
signal that the indicated shadow setting is about to be removed
Definition: DtShadowSettingsManager.h:610
boost::signalslib::signal< void(int, int)> shadowSettingsPreFilteringSchemeChanged
brief signal that the indicated shadow setting's pre-filtering scheme changed
Definition: DtShadowSettingsManager.h:568
boost::signalslib::signal< void(int, float)> shadowSettingsAntiFlickerQuantizationFactorChanged
brief signal that the indicated shadow setting's shadow anti-flicker quantization value for approxima...
Definition: DtShadowSettingsManager.h:556
SplitSelectionScheme
Definition: DtShadowSettingsRecord.h:46
boost::signalslib::signal< void(int, int)> shadowSettingsPropsCastsShadowsChanged
brief signal that the indicated shadow setting's props casts shadows changed
Definition: DtShadowSettingsManager.h:490
DtStringKeyConverter is used to convert string-based keys, used in files for things like model sets a...
Definition: DtStringKeyConverter.h:30
boost::signalslib::signal< void(int, int)> shadowSettingsSpotLightShadowMapSizeChanged
brief signal that the indicated shadow setting's spot light texture atlas size changed ...
Definition: DtShadowSettingsManager.h:529
boost::signalslib::signal< void(int, double)> shadowSettingsFarCascadeUpdateFreqChanged
brief signal that the indicated shadow setting's far cascade update changed
Definition: DtShadowSettingsManager.h:511
int myQuality
Definition: DtShadowSettingsManager.h:666
boost::signalslib::signal< void(int, bool)> shadowSettingsUseFrontFaceCullingChanged
brief signal that the indicated shadow setting's use front face culling changed
Definition: DtShadowSettingsManager.h:505
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::map< int, DtShadowSettingsObjectAgent * > ShadowSettingsObjectAgents
Type returned when retrieving all observer modes.
Definition: DtShadowSettingsManager.h:671
The DtShadowSettingsManager is responsible for loading and saving shadow settings for varying shadow ...
Definition: DtShadowSettingsManager.h:52
ShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:32
makArchives::DtShadowSettingsRecord * myCurrentSettings
Definition: DtShadowSettingsManager.h:668
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:887
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
boost::signalslib::signal< void(int, int)> shadowSettingsEntitiesCastsShadowsChanged
brief signal that the indicated shadow setting's entities casts shadows changed
Definition: DtShadowSettingsManager.h:487
boost::signalslib::signal< void(int, bool)> shadowSettingsApplyShadowToAmbientLightingChanged
brief signal that the indicated shadow setting's apply shadow factor to ambient lighting changed ...
Definition: DtShadowSettingsManager.h:589
boost::signalslib::signal< void(int, int)> shadowSettingsSplitDistanceComputeSchemeChanged
brief signal that the indicated shadow setting's split distance compute scheme changed ...
Definition: DtShadowSettingsManager.h:559
PoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:78
boost::signalslib::signal< void(int, double)> shadowSettingsEVSMPositiveExponentChanged
brief signal that the indicated shadow setting's evsm positive exponent changed
Definition: DtShadowSettingsManager.h:592
boost::signalslib::signal< void(int, double)> shadowSettingsSplitNearDistanceMinimumBiasChanged
brief signal that the indicated shadow setting's split near distance minimum bias changed ...
Definition: DtShadowSettingsManager.h:541
boost::signalslib::signal< void(int, double)> shadowSettingsMixedSplitInterpolationValueChanged
brief signal that the indicated shadow setting's mixed logarithmic uniform split interpolation value ...
Definition: DtShadowSettingsManager.h:562
boost::signalslib::signal< void(int, bool)> shadowSettingsAdjustFarAndFlagsBasedOnHATChanged
brief signal near cascades automatically change size and flags in the air
Definition: DtShadowSettingsManager.h:514
boost::signalslib::signal< void(int, int)> shadowSettingsTerrainCastsShadowsChanged
brief signal that the indicated shadow setting's terrain casts shadows changed
Definition: DtShadowSettingsManager.h:493
Contains makArchives::DtShadowSettingsRecord class.
ShadowSettingsObjectAgents myShadowSettingsObjectAgents
Definition: DtShadowSettingsManager.h:679
boost::signalslib::signal< void(int, double)> shadowSettingsSplitNearDistanceMaximumBiasChanged
brief signal that the indicated shadow setting's split near distance maximum bias changed ...
Definition: DtShadowSettingsManager.h:544
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:849
boost::signalslib::signal< void(int, int)> shadowSettingsFilteringSchemeChanged
brief signal that the indicated shadow setting's filtering scheme changed
Definition: DtShadowSettingsManager.h:571
DtStringKeyConverter * myStringKeyConverter
Definition: DtShadowSettingsManager.h:676
boost::signalslib::signal< void(int, int)> shadowSettingsGlobalLightShadowMapSizeChanged
brief signal that the indicated shadow setting's global light texture size for cascaded shadow mappin...
Definition: DtShadowSettingsManager.h:532
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:76
boost::signalslib::signal< void(int, unsigned int)> shadowSettingsNumAdditionalPassesPerCascadeChanged
brief signal that the indicated shadow setting's additional number of passes per cascade changed ...
Definition: DtShadowSettingsManager.h:580
boost::signalslib::signal< void(int, bool)> shadowSettingsUsePolygonOffsetChanged
brief signal that the indicated shadow setting's use polygon offset changed
Definition: DtShadowSettingsManager.h:520
Definition: DtShadowSettingsManager.h:28
std::map< std::string, int > ShadowSettingsObjectAgentsMap
Map type for mapping observer mode names to integer keys.
Definition: DtShadowSettingsManager.h:674
boost::signalslib::signal< void(int, unsigned int, float)> shadowSettingsPolygonOffsetUnitsChanged
brief signal that the indicated shadow setting's polygon offset unit parameter changed ...
Definition: DtShadowSettingsManager.h:526
boost::signalslib::signal< void(int, int)> shadowSettingsSplitSelectionSchemeChanged
brief signal that the indicated shadow setting's split selection scheme changed
Definition: DtShadowSettingsManager.h:565
boost::signalslib::signal< void(int, double)> shadowSettingsEVSMNegativeExponentChanged
brief signal that the indicated shadow setting's evsm negative exponent changed
Definition: DtShadowSettingsManager.h:595
PreFilteringScheme
Definition: DtShadowSettingsRecord.h:59
boost::signalslib::signal< void(bool)> shadowSettingsShadowsEnabledOnOceanChanged
brief signal that whether or not shadows on ocean changed
Definition: DtShadowSettingsManager.h:484
boost::signalslib::signal< void(int, unsigned int)> shadowSettingsNumPersistentPassesPerCascadeChanged
brief signal that the indicated shadow setting's persistent number of passes per cascade changed ...
Definition: DtShadowSettingsManager.h:577
boost::signalslib::signal< void(int, bool)> shadowSettingsBlendCascadesBoundariesChanged
brief signal that the indicated shadow setting's blend cascades boundaries changed ...
Definition: DtShadowSettingsManager.h:586
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.