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