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 setCloudsCastsShadows(
int quality,
bool castShadows);
110 bool cloudsCastsShadows(
int quality)
const;
113 bool cloudsCastsShadows()
const;
116 void setVisualizeShadows(
int quality,
bool visualizeShadows);
119 bool visualizeShadows(
int quality)
const;
122 bool visualizeShadows()
const;
125 void setNumberOfSplits(
int quality,
unsigned int numSplits);
128 unsigned int numberOfSplits(
int quality)
const;
131 unsigned int numberOfSplits()
const;
134 void setUseFrontFaceCulling(
int quality,
bool useFrontFaceCulling);
137 bool useFrontFaceCulling(
int quality)
const;
140 bool useFrontFaceCulling()
const;
144 void setUseCachedFarCascade(
int quality,
bool useCachedFarCascade);
147 bool useCachedFarCascade()
const;
150 void setFarCascadeUpdateFrequency(
int quality,
double update_freq);
153 double farCascadeUpdateFrequency();
156 void setAdjustFarAndFlagsBasedOnHAT(
int quality,
bool adaptive);
159 bool adjustFarAndFlagsBasedOnHAT();
162 void setUsePolygonOffset(
int quality,
bool usePolygonOffset);
165 bool usePolygonOffset(
int quality)
const;
168 bool usePolygonOffset()
const;
171 void setPolygonOffset(
int quality,
unsigned int splitIndex,
float factor,
float units);
174 float polygonOffsetFactor(
int quality,
unsigned int splitIndex)
const;
177 float polygonOffsetFactor(
unsigned int splitIndex)
const;
180 float polygonOffsetUnits(
int quality,
unsigned int splitIndex)
const;
183 float polygonOffsetUnits(
unsigned int splitIndex)
const;
186 void setSpotLightShadowMapSize(
int quality,
unsigned int size);
189 unsigned int spotLightShadowMapSize(
int quality)
const;
192 unsigned int spotLightShadowMapSize()
const;
195 void setGlobalLightShadowMapSize(
int quality,
unsigned int size);
198 unsigned int globalLightShadowMapSize()
const;
201 unsigned int globalLightShadowMapSize(
int quality)
const;
204 void setUseMaximumViewDistance(
int quality,
bool useMaximumViewDistance);
207 bool useMaximumViewDistance(
int quality)
const;
210 bool useMaximumViewDistance()
const;
213 void setMaximumViewDistance(
int quality,
double viewDistance);
216 double maximumViewDistance(
int quality)
const;
219 double maximumViewDistance()
const;
222 void setSplitNearDistanceMinimumBias(
int quality,
double bias);
225 double splitNearDistanceMinimumBias(
int quality)
const;
228 double splitNearDistanceMinimumBias()
const;
231 void setSplitNearDistanceMaximumBias(
int quality,
double bias);
234 double splitNearDistanceMaximumBias(
int quality)
const;
237 double splitNearDistanceMaximumBias()
const;
240 void setSplitFarDistanceBias(
int quality,
double bias);
243 double splitFarDistanceBias(
int quality)
const;
246 double splitFarDistanceBias()
const;
249 void setShadowAmbientFactor(
int quality,
float shadowAmbientFactor);
252 float shadowAmbientFactor(
int quality)
const;
255 float shadowAmbientFactor()
const;
267 void setAntiFlickerQuantizationFactor(
int quality,
float antiFlickerQuantizationFactor);
270 float antiFlickerQuantizationFactor(
int quality)
const;
273 float antiFlickerQuantizationFactor()
const;
285 void setMixedSplitInterpolationValue(
int quality,
double interp);
288 double mixedSplitInterpolationValue(
int quality)
const;
291 double mixedSplitInterpolationValue()
const;
340 void setUseViewportMulticast(
int quality,
bool useViewportMulticast);
343 bool useViewportMulticast()
const;
346 void setNumPersistentPassesPerCascade(
int quality,
unsigned int numPasses);
349 unsigned int numPersistentPassesPerCascade(
int quality)
const;
352 unsigned int numPersistentPassesPerCascade()
const;
355 void setNumAdditionalPassesPerCascade(
int quality,
unsigned int numPasses);
358 unsigned int numAdditionalPassesPerCascade(
int quality)
const;
361 unsigned int numAdditionalPassesPerCascade()
const;
364 void setPcfFilterWidth(
int quality,
unsigned int pcfFilterWidth);
367 unsigned int pcfFilterWidth(
int quality)
const;
370 unsigned int pcfFilterWidth()
const;
373 void setBlendCascadesBoundaries(
int quality,
bool blendCascadesBoundaries);
376 bool blendCascadesBoundaries(
int quality)
const;
379 bool blendCascadesBoundaries()
const;
382 void setUseSDSM(
int quality,
bool useSDSM);
385 bool useSDSM(
int quality)
const;
388 bool useSDSM()
const;
391 void setSDSMReadBackLatency(
int quality,
unsigned int sdsmReadBackLatency);
394 unsigned int sdsmReadBackLatency(
int quality)
const;
397 unsigned int sdsmReadBackLatency()
const;
400 void setUseCameraDepthBufferForSDSM(
int quality,
bool useCameraDepthBufferForSDSM);
403 bool useCameraDepthBufferForSDSM(
int quality)
const;
406 bool useCameraDepthBufferForSDSM()
const;
409 void setEVSMPositiveExponent(
int quality,
double evsmPositiveExponent);
412 double evsmPositiveExponent(
int quality)
const;
415 double evsmPositiveExponent()
const;
418 void setEVSMNegativeExponent(
int quality,
double evsmNegativeExponent);
421 double evsmNegativeExponent(
int quality)
const;
424 double evsmNegativeExponent()
const;
427 void setVSMMininumVariance(
int quality,
double vsmMininumVariance);
430 double vsmMininumVariance(
int quality)
const;
433 double vsmMininumVariance()
const;
436 void setESMDarkeningFactor(
int quality,
double esmDarkeningFactor);
439 double esmDarkeningFactor(
int quality)
const;
442 double esmDarkeningFactor()
const;
445 void setDirty(
int quality,
bool dirty);
448 bool dirty(
int quality)
const;
454 void setCurrentPolygonOffsetCascade(
unsigned int cascade);
457 unsigned int currentPolygonOffsetCascade()
const;
463 virtual void loadDefaults();
470 virtual void importSettings(
const std::string& filePath);
639 template <
typename ManagerClass>
643 template <
typename ManagerClass>
654 DtShadowSettingsObjectAgent* getShadowSettingsObjectAgentPtr(
int quality)
const;
658 virtual void addShadowSettingsObjectAgent(
int quality,
const std::string& stringKey, DtShadowSettingsObjectAgent* agent);
663 virtual void createShadowSettings(
int quality,
const std::string& stringKey);
666 virtual void removeShadowQuality(
int quality);
669 virtual void clear();
671 virtual void initializeBackup();