13 #include <vrvCore/DtShadowSettingsObjectAgent.hpp>
22 class DtShadowSettingsManager;
26 makArchives::DtShadowSettingsCollectionRecord >
31 const std::string& name,
const std::string& displayName );
37 virtual int currentSelectedShadowSettings()
const;
38 virtual void setCurrentSelectedShadowSettings(
int quality );
63 virtual void createShadowSettings();
67 int lookupShadowQuality( std::string stringKey )
const;
70 const std::string* findShadowQualityStringKey(
int quality )
const;
73 void setName(
int quality,
const std::string& name);
76 std::string name(
int quality )
const;
79 void setEntitiesCastsShadows(
int quality,
bool castShadows);
82 bool entitiesCastsShadows(
int quality )
const;
85 bool entitiesCastsShadows()
const;
88 void setPropsCastsShadows(
int quality,
bool castShadows);
91 bool propsCastsShadows(
int quality )
const;
94 bool propsCastsShadows()
const;
97 void setTerrainCastsShadows(
int quality,
bool castShadows);
100 bool terrainCastsShadows(
int quality )
const;
103 bool terrainCastsShadows()
const;
106 void setCloudsCastsShadows(
int quality,
bool castShadows);
109 bool cloudsCastsShadows(
int quality )
const;
112 bool cloudsCastsShadows()
const;
115 void setVisualizeShadows(
int quality,
bool visualizeShadows);
118 bool visualizeShadows(
int quality )
const;
121 bool visualizeShadows()
const;
124 void setNumberOfSplits(
int quality,
unsigned int numSplits);
127 unsigned int numberOfSplits(
int quality )
const;
130 unsigned int numberOfSplits()
const;
133 void setUseFrontFaceCulling(
int quality,
bool useFrontFaceCulling);
136 bool useFrontFaceCulling(
int quality )
const;
139 bool useFrontFaceCulling()
const;
142 void setUsePolygonOffset(
int quality,
bool usePolygonOffset);
145 bool usePolygonOffset(
int quality )
const;
148 bool usePolygonOffset()
const;
151 void setPolygonOffset(
int quality,
unsigned int splitIndex,
float factor,
float units );
154 float polygonOffsetFactor(
int quality,
unsigned int splitIndex )
const;
157 float polygonOffsetFactor(
unsigned int splitIndex )
const;
160 float polygonOffsetUnits(
int quality,
unsigned int splitIndex )
const;
163 float polygonOffsetUnits(
unsigned int splitIndex )
const;
166 void setSpotLightShadowMapSize(
int quality,
unsigned int size );
169 unsigned int spotLightShadowMapSize(
int quality )
const;
172 unsigned int spotLightShadowMapSize()
const;
175 void setGlobalLightShadowMapSize(
int quality,
unsigned int size);
178 unsigned int globalLightShadowMapSize()
const;
181 unsigned int globalLightShadowMapSize(
int quality )
const;
184 void setUseMaximumViewDistance(
int quality,
bool useMaximumViewDistance);
187 bool useMaximumViewDistance(
int quality )
const;
190 bool useMaximumViewDistance()
const;
193 void setMaximumViewDistance(
int quality,
double viewDistance);
196 double maximumViewDistance(
int quality )
const;
199 double maximumViewDistance()
const;
202 void setSplitNearDistanceMinimumBias(
int quality,
double bias);
205 double splitNearDistanceMinimumBias(
int quality )
const;
208 double splitNearDistanceMinimumBias()
const;
211 void setSplitNearDistanceMaximumBias(
int quality,
double bias);
214 double splitNearDistanceMaximumBias(
int quality )
const;
217 double splitNearDistanceMaximumBias()
const;
220 void setSplitFarDistanceBias(
int quality,
double bias);
223 double splitFarDistanceBias(
int quality )
const;
226 double splitFarDistanceBias()
const;
229 void setShadowAmbientFactor(
int quality,
float shadowAmbientFactor );
232 float shadowAmbientFactor(
int quality )
const;
235 float shadowAmbientFactor()
const;
245 void setShadowStabilizationScheme(
int quality, ShadowStabilizationScheme shadowStabilizationScheme);
248 ShadowStabilizationScheme shadowStabilizationScheme(
int quality )
const;
251 ShadowStabilizationScheme shadowStabilizationScheme()
const;
254 void setAntiFlickerQuantizationFactor(
int quality,
float antiFlickerQuantizationFactor);
257 float antiFlickerQuantizationFactor(
int quality )
const;
260 float antiFlickerQuantizationFactor()
const;
266 MIXED_LOGARITHMIC_UNIFORM_SPLIT
270 void setSplitDistanceComputeScheme(
int quality, SplitDistanceComputeScheme splitDistanceComputeScheme);
273 SplitDistanceComputeScheme splitDistanceComputeScheme(
int quality )
const;
276 SplitDistanceComputeScheme splitDistanceComputeScheme()
const;
279 void setMixedSplitInterpolationValue(
int quality,
double interp);
282 double mixedSplitInterpolationValue(
int quality )
const;
285 double mixedSplitInterpolationValue()
const;
294 void setSplitSelectionScheme(
int quality, SplitSelectionScheme splitSelectionScheme);
297 SplitSelectionScheme splitSelectionScheme(
int quality )
const;
300 SplitSelectionScheme splitSelectionScheme()
const;
306 TEXTURE_2D_ARRAY_STORAGE
310 void setDataStorageScheme(
int quality, DataStorageScheme dataStorageScheme);
313 DataStorageScheme dataStorageScheme(
int quality )
const;
316 DataStorageScheme dataStorageScheme()
const;
327 void setPreFilteringScheme(
int quality, PreFilteringScheme preFilteringScheme);
330 PreFilteringScheme preFilteringScheme(
int quality )
const;
333 PreFilteringScheme preFilteringScheme()
const;
350 void setFilteringScheme(
int quality, FilteringScheme filteringScheme);
353 FilteringScheme filteringScheme(
int quality )
const;
356 FilteringScheme filteringScheme()
const;
366 void setPoissonDiskSamplingScheme(
int quality, PoissonDiskSamplingScheme poissonDiskSamplingScheme);
369 PoissonDiskSamplingScheme poissonDiskSamplingScheme(
int quality )
const;
372 PoissonDiskSamplingScheme poissonDiskSamplingScheme()
const;
375 void setNumPersistentPassesPerCascade(
int quality,
unsigned int numPasses);
378 unsigned int numPersistentPassesPerCascade(
int quality)
const;
381 unsigned int numPersistentPassesPerCascade()
const;
384 void setNumAdditionalPassesPerCascade(
int quality,
unsigned int numPasses);
387 unsigned int numAdditionalPassesPerCascade(
int quality)
const;
390 unsigned int numAdditionalPassesPerCascade()
const;
393 void setPcfFilterWidth(
int quality,
unsigned int pcfFilterWidth);
396 unsigned int pcfFilterWidth(
int quality)
const;
399 unsigned int pcfFilterWidth()
const;
402 void setBlendCascadesBoundaries(
int quality,
bool blendCascadesBoundaries);
405 bool blendCascadesBoundaries(
int quality)
const;
408 bool blendCascadesBoundaries()
const;
411 void setUseSDSM(
int quality,
bool useSDSM);
414 bool useSDSM(
int quality )
const;
417 bool useSDSM()
const;
420 void setSDSMReadBackLatency(
int quality,
unsigned int sdsmReadBackLatency);
423 unsigned int sdsmReadBackLatency(
int quality )
const;
426 unsigned int sdsmReadBackLatency()
const;
429 void setUseCameraDepthBufferForSDSM(
int quality,
bool useCameraDepthBufferForSDSM);
432 bool useCameraDepthBufferForSDSM(
int quality )
const;
435 bool useCameraDepthBufferForSDSM()
const;
438 void setEVSMPositiveExponent(
int quality,
double evsmPositiveExponent);
441 double evsmPositiveExponent(
int quality )
const;
444 double evsmPositiveExponent()
const;
447 void setEVSMNegativeExponent(
int quality,
double evsmNegativeExponent);
450 double evsmNegativeExponent(
int quality )
const;
453 double evsmNegativeExponent()
const;
456 void setVSMMininumVariance(
int quality,
double vsmMininumVariance);
459 double vsmMininumVariance(
int quality )
const;
462 double vsmMininumVariance()
const;
465 void setESMDarkeningFactor(
int quality,
double esmDarkeningFactor);
468 double esmDarkeningFactor(
int quality )
const;
471 double esmDarkeningFactor()
const;
474 void setDirty(
int quality,
bool dirty);
477 bool dirty(
int quality )
const;
483 void setCurrentPolygonOffsetCascade(
unsigned int cascade);
486 unsigned int currentPolygonOffsetCascade()
const;
492 virtual void loadDefaults();
499 virtual void importSettings(
const std::string& filePath );
656 template <
typename ManagerClass>
660 template <
typename ManagerClass>
671 DtShadowSettingsObjectAgent* getShadowSettingsObjectAgentPtr(
int quality )
const;
675 virtual void addShadowSettingsObjectAgent(
int quality,
const std::string& stringKey, DtShadowSettingsObjectAgent* agent );
680 virtual void createShadowSettings(
int quality,
const std::string& stringKey );
683 virtual void removeShadowQuality(
int quality );
686 virtual void clear();
688 virtual void initializeBackup();