43 MIXED_LOGARITHMIC_UNIFORM_SPLIT
56 TEXTURE_2D_ARRAY_STORAGE
75 PCF_POISSON_DISC_32_TAPS
98 void setName(
const std::string& name);
101 const std::string&
name()
const {
return myName; }
104 void setDirty(
bool dirty);
107 bool dirty()
const {
return myDirty; }
110 void setShadowsEnabled(
bool shadowsEnabled);
116 void setEntitiesCastsShadows(
bool castShadows);
122 void setPropsCastsShadows(
bool castShadows);
128 void setTerrainCastsShadows(
bool castShadows);
134 void setMoonCastsShadows(
bool castShadows);
140 void setCloudsCastsShadows(
bool castShadows);
146 void setVisualizeShadows(
bool visualizeShadows);
152 void setNumberOfSplits(
unsigned int numSplits);
159 void setUseCachedFarCascade(
bool useCachedFarCascade);
171 void setUseFrontFaceCulling(
bool useFrontFaceCulling);
177 void setUsePolygonOffset(
bool usePolygonOffset);
183 void setPolygonOffset(
unsigned int splitIndex,
float factor,
float units);
186 float polygonOffsetFactor(
unsigned int splitIndex)
const;
189 float polygonOffsetUnits(
unsigned int splitIndex)
const;
192 void setSpotLightShadowMapSize(
unsigned int size);
198 void setGlobalLightShadowMapSize(
unsigned int size);
204 void setUseMaximumViewDistance(
bool useMaximumViewDistance);
210 void setMaximumViewDistance(
double viewDistance);
217 void setShadowAmbientFactor(
float shadowAmbientFactor);
223 void setShadowStabilizationScheme(ShadowStabilizationScheme shadowStabilizationScheme);
229 void setSplitDistanceComputeScheme(SplitDistanceComputeScheme splitDistanceComputeScheme);
235 void setMixedSplitInterpolationValue(
double interp);
241 void setSplitSelectionScheme(SplitSelectionScheme splitSelectionScheme);
247 void setDataStorageScheme(DataStorageScheme dataStorageScheme);
253 void setPreFilteringScheme(PreFilteringScheme preFilteringScheme);
259 void setFilteringScheme(FilteringScheme filteringScheme);
265 void setPoissonDiskSamplingScheme(PoissonDiskSamplingScheme poissonDiskSamplingScheme);
271 void setUseViewportMulticast(
bool useViewportMulticast);
277 void setNumPersistentPassesPerCascade(
unsigned int numPasses);
283 void setNumAdditionalPassesPerCascade(
unsigned int numPasses);
289 void setPcfFilterWidth(
unsigned int pcfFilterWidth);
295 void setBlendCascadesBoundaries(
bool blendCascadesBoundaries);
301 void setUseSDSM(
bool useSDSM);
307 void setSDSMReadBackLatency(
unsigned int sdsmReadBackLatency);
313 void setUseCameraDepthBufferForSDSM(
bool useCameraDepthBufferForSDSM);
328 void setSplitNearDistanceMinimumBias(
double bias);
331 double splitNearDistanceMinimumBias()
const;
334 void setSplitNearDistanceMaximumBias(
double bias);
337 double splitNearDistanceMaximumBias()
const;
340 void setSplitFarDistanceBias(
double bias);
343 double splitFarDistanceBias()
const;
345 void setEVSMPositiveExponent(
double evsmPositiveExponent);
351 void setEVSMNegativeExponent(
double evsmNegativeExponent);
357 void setVSMMininumVariance(
double vsmMininumVariance);
360 double vsmMininumVariance()
const;
363 void setESMDarkeningFactor(
double esmDarkeningFactor);
366 double esmDarkeningFactor()
const;
369 void setAntiFlickerQuantizationFactor(
float antiFlickerQuantizationFactor);
372 float antiFlickerQuantizationFactor()
const;
376 friend class boost::serialization::access;
378 template <
typename Archive>
381 ar & BOOST_SERIALIZATION_NVP(myName);
382 ar & BOOST_SERIALIZATION_NVP(myNumSplits);
385 ar & BOOST_SERIALIZATION_NVP(myShadowsEnabled);
387 ar & BOOST_SERIALIZATION_NVP(myEntitiesCastsShadows);
388 ar & BOOST_SERIALIZATION_NVP(myPropsCastsShadows);
389 ar & BOOST_SERIALIZATION_NVP(myTerrainCastsShadows);
390 ar & BOOST_SERIALIZATION_NVP(myVisualizeShadows);
391 ar & BOOST_SERIALIZATION_NVP(myPolygonOffsetFactor);
392 ar & BOOST_SERIALIZATION_NVP(myPolygonOffsetUnits);
393 ar & BOOST_SERIALIZATION_NVP(myUsePolygonOffset);
394 ar & BOOST_SERIALIZATION_NVP(mySpotLightShadowMapSize);
395 ar & BOOST_SERIALIZATION_NVP(myGlobalLightShadowMapSize);
396 ar & BOOST_SERIALIZATION_NVP(myMaximumViewDistance);
397 ar & BOOST_SERIALIZATION_NVP(myUseMaximumViewDistance);
398 ar & BOOST_SERIALIZATION_NVP(myUseFrontFaceCulling);
399 ar & BOOST_SERIALIZATION_NVP(mySplitNearDistanceMinimumBias);
400 ar & BOOST_SERIALIZATION_NVP(mySplitNearDistanceMaximumBias);
401 ar & BOOST_SERIALIZATION_NVP(mySplitFarDistanceBias);
402 ar & BOOST_SERIALIZATION_NVP(myShadowAmbientFactor);
403 ar & BOOST_SERIALIZATION_NVP(myShadowStabilizationScheme);
404 ar & BOOST_SERIALIZATION_NVP(myAntiFlickerQuantizationFactor);
405 ar & BOOST_SERIALIZATION_NVP(mySplitDistanceComputeScheme);
406 ar & BOOST_SERIALIZATION_NVP(myMixedSplitInterp);
407 ar & BOOST_SERIALIZATION_NVP(mySplitSelectionScheme);
408 ar & BOOST_SERIALIZATION_NVP(myDataStorageScheme);
409 ar & BOOST_SERIALIZATION_NVP(myPreFilteringScheme);
410 ar & BOOST_SERIALIZATION_NVP(myFilteringScheme);
411 ar & BOOST_SERIALIZATION_NVP(myPoissonDiskSamplingScheme);
412 ar & BOOST_SERIALIZATION_NVP(myNumAdditionalPassesPerCascade);
413 ar & BOOST_SERIALIZATION_NVP(myPcfFilterWidth);
414 ar & BOOST_SERIALIZATION_NVP(myBlendCascadesBoundaries);
415 ar & BOOST_SERIALIZATION_NVP(myUseSDSM);
416 ar & BOOST_SERIALIZATION_NVP(mySDSMReadBackLatency);
417 ar & BOOST_SERIALIZATION_NVP(myUseCameraDepthBufferForSDSM);
418 ar & BOOST_SERIALIZATION_NVP(myEVSMPositiveExponent);
419 ar & BOOST_SERIALIZATION_NVP(myEVSMNegativeExponent);
420 ar & BOOST_SERIALIZATION_NVP(myVSMMininumVariance);
421 ar & BOOST_SERIALIZATION_NVP(myESMDarkeningFactor);
422 ar & BOOST_SERIALIZATION_NVP(myDirty);
423 ar & BOOST_SERIALIZATION_NVP(myNumPersistentPassesPerCascade);
427 ar & BOOST_SERIALIZATION_NVP(myCloudsCastsShadows);
432 ar & BOOST_SERIALIZATION_NVP(myUseCachedFarCascade);
437 ar & BOOST_SERIALIZATION_NVP(myUseViewportMulticast);
442 ar & BOOST_SERIALIZATION_NVP(myAdjustFarAndFlagsBasedOnHAT);
443 ar & BOOST_SERIALIZATION_NVP(myFarCascadeUpdateFrequency);
448 ar & BOOST_SERIALIZATION_NVP(myMoonCastsShadows);
SplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:39
double mySplitNearDistanceMinimumBias
Definition: DtShadowSettingsRecord.h:492
ShadowStabilizationScheme myShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:496
unsigned int spotLightShadowMapSize() const
Gets spot light texture atlas size.
Definition: DtShadowSettingsRecord.h:195
bool myCloudsCastsShadows
Definition: DtShadowSettingsRecord.h:468
double mySplitNearDistanceMaximumBias
Definition: DtShadowSettingsRecord.h:493
DataStorageScheme
Definition: DtShadowSettingsRecord.h:52
bool adjustFarAndFlagsBasedOnHAT() const
Gets if near cascades automatically change size and flags in the air.
Definition: DtShadowSettingsRecord.h:322
bool entitiesCastsShadows() const
Gets entities casts shadow flag.
Definition: DtShadowSettingsRecord.h:119
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
FilteringScheme myFilteringScheme
Definition: DtShadowSettingsRecord.h:502
double myEVSMNegativeExponent
Definition: DtShadowSettingsRecord.h:515
Definition: DtShadowSettingsRecord.h:35
bool useViewportMulticast() const
Gets use viewport multicast.
Definition: DtShadowSettingsRecord.h:274
float farCascadeUpdateFrequency() const
Gets far cascade update frequency.
Definition: DtShadowSettingsRecord.h:168
DtShadowSettingsRecord is the serializable record used to read and write a Shadow Setting's Configura...
Definition: DtShadowSettingsRecord.h:29
bool myUseFrontFaceCulling
Definition: DtShadowSettingsRecord.h:482
FilteringScheme
Definition: DtShadowSettingsRecord.h:68
bool myUseViewportMulticast
Definition: DtShadowSettingsRecord.h:488
double evsmNegativeExponent() const
Gets exponential variance shadow maps(EVSM) negative exponent.
Definition: DtShadowSettingsRecord.h:354
bool useMaximumViewDistance() const
Gets use maximum view distance.
Definition: DtShadowSettingsRecord.h:207
Definition: DtShadowSettingsRecord.h:42
Definition: DtShadowSettingsRecord.h:74
voidpf void uLong size
Definition: ioapi.h:39
bool terrainCastsShadows() const
Gets terrain casts shadow flag.
Definition: DtShadowSettingsRecord.h:131
bool myAdjustFarAndFlagsBasedOnHAT
Definition: DtShadowSettingsRecord.h:490
unsigned int myNumSplits
Definition: DtShadowSettingsRecord.h:470
Definition: DtShadowSettingsRecord.h:71
float myFarCascadeUpdateFrequency
Definition: DtShadowSettingsRecord.h:486
void setFarCascadeUpdateFrequency(float value)
Sets far cascade update frequency.
Definition: DtShadowSettingsRecord.h:165
Contains DLL export macros.
Definition: DtShadowSettingsRecord.h:61
bool useSDSM() const
Gets Sample Distribution Shadow Maps(SDSM) enabled or disabled state.
Definition: DtShadowSettingsRecord.h:304
bool myDirty
Definition: DtShadowSettingsRecord.h:456
SplitDistanceComputeScheme splitDistanceComputeScheme() const
Gets split distance compute scheme.
Definition: DtShadowSettingsRecord.h:232
float myShadowAmbientFactor
Definition: DtShadowSettingsRecord.h:495
std::vector< float > myPolygonOffsetUnits
Definition: DtShadowSettingsRecord.h:474
Definition: DtShadowSettingsRecord.h:54
PoissonDiskSamplingScheme poissonDiskSamplingScheme() const
Gets poisson disk sampling scheme.
Definition: DtShadowSettingsRecord.h:268
Definition: DtShadowSettingsRecord.h:36
bool myEntitiesCastsShadows
Definition: DtShadowSettingsRecord.h:460
double maximumViewDistance() const
Get maximum far distance.
Definition: DtShadowSettingsRecord.h:213
unsigned int numAdditionalPassesPerCascade() const
Gets additional number of passes per cascade.
Definition: DtShadowSettingsRecord.h:286
bool usePolygonOffset() const
Gets use polygon offset.
Definition: DtShadowSettingsRecord.h:180
bool blendCascadesBoundaries() const
Gets blend between cascade boundaries.
Definition: DtShadowSettingsRecord.h:298
Definition: DtShadowSettingsRecord.h:70
SplitSelectionScheme
Definition: DtShadowSettingsRecord.h:46
bool propsCastsShadows() const
Gets props casts shadow flag.
Definition: DtShadowSettingsRecord.h:125
unsigned int mySpotLightShadowMapSize
Definition: DtShadowSettingsRecord.h:522
double evsmPositiveExponent() const
Gets exponential variance shadow maps(EVSM) positive exponent.
Definition: DtShadowSettingsRecord.h:348
unsigned int myPcfFilterWidth
Definition: DtShadowSettingsRecord.h:506
float shadowAmbientFactor() const
Gets shadow factor for modulating the scene.
Definition: DtShadowSettingsRecord.h:220
bool shadowsEnabled() const
Gets shadows enabled flag.
Definition: DtShadowSettingsRecord.h:113
double myMaximumViewDistance
Definition: DtShadowSettingsRecord.h:478
DataStorageScheme myDataStorageScheme
Definition: DtShadowSettingsRecord.h:500
unsigned int numPersistentPassesPerCascade() const
Gets number of persistent passes per cascade.
Definition: DtShadowSettingsRecord.h:280
double myVSMMininumVariance
Definition: DtShadowSettingsRecord.h:517
void setAdjustFarAndFlagsBasedOnHAT(bool enabled)
Sets to make the near cascades automatically change size and flags in the air.
Definition: DtShadowSettingsRecord.h:319
bool myUseMaximumViewDistance
Definition: DtShadowSettingsRecord.h:480
bool myUseCameraDepthBufferForSDSM
Definition: DtShadowSettingsRecord.h:510
unsigned int pcfFilterWidth() const
Gets PCF filter width.
Definition: DtShadowSettingsRecord.h:292
ShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:32
bool myVisualizeShadows
Definition: DtShadowSettingsRecord.h:520
void serialize(Archive &ar, unsigned int version)
Definition: DtShadowSettingsRecord.h:379
PreFilteringScheme preFilteringScheme() const
Gets pre-filtering scheme.
Definition: DtShadowSettingsRecord.h:256
bool myUseSDSM
Definition: DtShadowSettingsRecord.h:508
SplitDistanceComputeScheme mySplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:497
bool useCameraDepthBufferForSDSM() const
Gets the setting for the usage of the most recent camera depth buffer for Sample Distribution Shadow ...
Definition: DtShadowSettingsRecord.h:316
double myESMDarkeningFactor
Definition: DtShadowSettingsRecord.h:519
double myMixedSplitInterp
Definition: DtShadowSettingsRecord.h:498
Definition: DtShadowSettingsRecord.h:62
SplitSelectionScheme mySplitSelectionScheme
Definition: DtShadowSettingsRecord.h:499
bool myTerrainCastsShadows
Definition: DtShadowSettingsRecord.h:464
PreFilteringScheme myPreFilteringScheme
Definition: DtShadowSettingsRecord.h:501
Definition: DtShadowSettingsRecord.h:48
unsigned int myNumPersistentPassesPerCascade
Definition: DtShadowSettingsRecord.h:504
Definition: DtShadowSettingsRecord.h:72
PoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:78
Definition: DtShadowSettingsRecord.h:41
float myAntiFlickerQuantizationFactor
Definition: DtShadowSettingsRecord.h:521
Definition: DtShadowSettingsRecord.h:73
unsigned int globalLightShadowMapSize() const
Gets global light texture size for cascaded shadow mapping.
Definition: DtShadowSettingsRecord.h:201
FilteringScheme filteringScheme() const
Gets filtering scheme.
Definition: DtShadowSettingsRecord.h:262
bool myBlendCascadesBoundaries
Definition: DtShadowSettingsRecord.h:507
double mySplitFarDistanceBias
Definition: DtShadowSettingsRecord.h:494
Definition: DtShadowSettingsRecord.h:34
PoissonDiskSamplingScheme myPoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:503
bool myUseCachedFarCascade
Definition: DtShadowSettingsRecord.h:484
Definition: DtShadowSettingsRecord.h:81
unsigned int myNumAdditionalPassesPerCascade
Definition: DtShadowSettingsRecord.h:505
DataStorageScheme dataStorageScheme() const
Gets data storage scheme.
Definition: DtShadowSettingsRecord.h:250
Definition: DtShadowSettingsRecord.h:63
bool visualizeShadows() const
Gets shadow visualization mode.
Definition: DtShadowSettingsRecord.h:149
bool myMoonCastsShadows
Definition: DtShadowSettingsRecord.h:466
bool useCachedFarCascade() const
Gets use cached far cascade.
Definition: DtShadowSettingsRecord.h:162
SplitSelectionScheme splitSelectionScheme() const
Gets split selection scheme.
Definition: DtShadowSettingsRecord.h:244
unsigned int numberOfSplits() const
Gets shadow visualization mode.
Definition: DtShadowSettingsRecord.h:155
Definition: DtShadowSettingsRecord.h:80
double mixedSplitInterpolationValue() const
Gets mixed logarithmic uniform split interpolation value.
Definition: DtShadowSettingsRecord.h:238
bool myUsePolygonOffset
Definition: DtShadowSettingsRecord.h:523
std::vector< float > myPolygonOffsetFactor
Definition: DtShadowSettingsRecord.h:472
std::string myName
Definition: DtShadowSettingsRecord.h:455
unsigned int sdsmReadBackLatency() const
Gets Sample Distribution Shadow Maps(SDSM) read back latency.
Definition: DtShadowSettingsRecord.h:310
ShadowStabilizationScheme shadowStabilizationScheme() const
Gets shadow stabilization scheme.
Definition: DtShadowSettingsRecord.h:226
bool moonCastsShadows() const
Gets terrain casts shadow flag.
Definition: DtShadowSettingsRecord.h:137
bool dirty() const
Checks if any setting just changed.
Definition: DtShadowSettingsRecord.h:107
bool myPropsCastsShadows
Definition: DtShadowSettingsRecord.h:462
Definition: DtShadowSettingsRecord.h:55
bool myShadowsEnabled
Definition: DtShadowSettingsRecord.h:458
double myEVSMPositiveExponent
Definition: DtShadowSettingsRecord.h:513
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
bool cloudsCastsShadows() const
Gets cloud casts shadow flag.
Definition: DtShadowSettingsRecord.h:143
const std::string & name() const
Returns setting name.
Definition: DtShadowSettingsRecord.h:101
unsigned int myGlobalLightShadowMapSize
Definition: DtShadowSettingsRecord.h:476
bool useFrontFaceCulling() const
Gets use front face culling.
Definition: DtShadowSettingsRecord.h:174
PreFilteringScheme
Definition: DtShadowSettingsRecord.h:59
unsigned int mySDSMReadBackLatency
Definition: DtShadowSettingsRecord.h:509