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 setShadowsEnabledOnOcean(
bool shadowsEnabled);
119 bool shadowsEnabledOnOcean()
const;
122 void setEntitiesCastsShadows(
bool castShadows);
128 void setPropsCastsShadows(
bool castShadows);
134 void setTerrainCastsShadows(
bool castShadows);
140 void setMoonCastsShadows(
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 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);
301 void setApplyShadowToAmbientLighting(
bool applyShadowToAmbient);
304 bool applyShadowToAmbientLighting()
const;
310 void setSplitNearDistanceMinimumBias(
double bias);
313 double splitNearDistanceMinimumBias()
const;
316 void setSplitNearDistanceMaximumBias(
double bias);
319 double splitNearDistanceMaximumBias()
const;
322 void setSplitFarDistanceBias(
double bias);
325 double splitFarDistanceBias()
const;
327 void setEVSMPositiveExponent(
double evsmPositiveExponent);
333 void setEVSMNegativeExponent(
double evsmNegativeExponent);
339 void setVSMMininumVariance(
double vsmMininumVariance);
342 double vsmMininumVariance()
const;
345 void setESMDarkeningFactor(
double esmDarkeningFactor);
348 double esmDarkeningFactor()
const;
351 void setAntiFlickerQuantizationFactor(
float antiFlickerQuantizationFactor);
354 float antiFlickerQuantizationFactor()
const;
358 friend class boost::serialization::access;
360 template <
typename Archive>
363 ar& BOOST_SERIALIZATION_NVP(myName);
364 ar& BOOST_SERIALIZATION_NVP(myNumSplits);
367 ar& BOOST_SERIALIZATION_NVP(myShadowsEnabled);
369 ar& BOOST_SERIALIZATION_NVP(myEntitiesCastsShadows);
370 ar& BOOST_SERIALIZATION_NVP(myPropsCastsShadows);
371 ar& BOOST_SERIALIZATION_NVP(myTerrainCastsShadows);
372 ar& BOOST_SERIALIZATION_NVP(myVisualizeShadows);
373 ar& BOOST_SERIALIZATION_NVP(myPolygonOffsetFactor);
374 ar& BOOST_SERIALIZATION_NVP(myPolygonOffsetUnits);
375 ar& BOOST_SERIALIZATION_NVP(myUsePolygonOffset);
376 ar& BOOST_SERIALIZATION_NVP(mySpotLightShadowMapSize);
377 ar& BOOST_SERIALIZATION_NVP(myGlobalLightShadowMapSize);
378 ar& BOOST_SERIALIZATION_NVP(myMaximumViewDistance);
379 ar& BOOST_SERIALIZATION_NVP(myUseMaximumViewDistance);
380 ar& BOOST_SERIALIZATION_NVP(myUseFrontFaceCulling);
381 ar& BOOST_SERIALIZATION_NVP(mySplitNearDistanceMinimumBias);
382 ar& BOOST_SERIALIZATION_NVP(mySplitNearDistanceMaximumBias);
383 ar& BOOST_SERIALIZATION_NVP(mySplitFarDistanceBias);
384 ar& BOOST_SERIALIZATION_NVP(myShadowAmbientFactor);
385 ar& BOOST_SERIALIZATION_NVP(myShadowStabilizationScheme);
386 ar& BOOST_SERIALIZATION_NVP(myAntiFlickerQuantizationFactor);
387 ar& BOOST_SERIALIZATION_NVP(mySplitDistanceComputeScheme);
388 ar& BOOST_SERIALIZATION_NVP(myMixedSplitInterp);
389 ar& BOOST_SERIALIZATION_NVP(mySplitSelectionScheme);
390 ar& BOOST_SERIALIZATION_NVP(myDataStorageScheme);
391 ar& BOOST_SERIALIZATION_NVP(myPreFilteringScheme);
392 ar& BOOST_SERIALIZATION_NVP(myFilteringScheme);
393 ar& BOOST_SERIALIZATION_NVP(myPoissonDiskSamplingScheme);
394 ar& BOOST_SERIALIZATION_NVP(myNumAdditionalPassesPerCascade);
395 ar& BOOST_SERIALIZATION_NVP(myPcfFilterWidth);
396 ar& BOOST_SERIALIZATION_NVP(myBlendCascadesBoundaries);
401 bool myUseSDSM =
false;
402 ar& BOOST_SERIALIZATION_NVP(myUseSDSM);
404 bool mySDSMReadBackLatency =
false;
405 ar& BOOST_SERIALIZATION_NVP(mySDSMReadBackLatency);
407 bool myUseCameraDepthBufferForSDSM =
false;
408 ar& BOOST_SERIALIZATION_NVP(myUseCameraDepthBufferForSDSM);
410 ar& BOOST_SERIALIZATION_NVP(myEVSMPositiveExponent);
411 ar& BOOST_SERIALIZATION_NVP(myEVSMNegativeExponent);
412 ar& BOOST_SERIALIZATION_NVP(myVSMMininumVariance);
413 ar& BOOST_SERIALIZATION_NVP(myESMDarkeningFactor);
414 ar& BOOST_SERIALIZATION_NVP(myDirty);
415 ar& BOOST_SERIALIZATION_NVP(myNumPersistentPassesPerCascade);
420 bool myCloudsCastsShadows =
false;
421 ar& BOOST_SERIALIZATION_NVP(myCloudsCastsShadows);
426 ar& BOOST_SERIALIZATION_NVP(myUseCachedFarCascade);
431 ar& BOOST_SERIALIZATION_NVP(myUseViewportMulticast);
436 ar& BOOST_SERIALIZATION_NVP(myAdjustFarAndFlagsBasedOnHAT);
437 ar& BOOST_SERIALIZATION_NVP(myFarCascadeUpdateFrequency);
442 ar& BOOST_SERIALIZATION_NVP(myMoonCastsShadows);
447 ar& BOOST_SERIALIZATION_NVP(myShadowsEnabledOnOcean);
452 ar& BOOST_SERIALIZATION_NVP(myApplyShadowToAmbientLighting);
SplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:39
double mySplitNearDistanceMinimumBias
Definition: DtShadowSettingsRecord.h:496
ShadowStabilizationScheme myShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:500
unsigned int spotLightShadowMapSize() const
Gets spot light texture atlas size.
Definition: DtShadowSettingsRecord.h:195
double mySplitNearDistanceMaximumBias
Definition: DtShadowSettingsRecord.h:497
DataStorageScheme
Definition: DtShadowSettingsRecord.h:52
bool adjustFarAndFlagsBasedOnHAT() const
Gets if near cascades automatically change size and flags in the air.
Definition: DtShadowSettingsRecord.h:298
bool entitiesCastsShadows() const
Gets entities casts shadow flag.
Definition: DtShadowSettingsRecord.h:125
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
FilteringScheme myFilteringScheme
Definition: DtShadowSettingsRecord.h:506
double myEVSMNegativeExponent
Definition: DtShadowSettingsRecord.h:516
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: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:486
FilteringScheme
Definition: DtShadowSettingsRecord.h:68
bool myUseViewportMulticast
Definition: DtShadowSettingsRecord.h:492
double evsmNegativeExponent() const
Gets exponential variance shadow maps(EVSM) negative exponent.
Definition: DtShadowSettingsRecord.h:336
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:137
bool myAdjustFarAndFlagsBasedOnHAT
Definition: DtShadowSettingsRecord.h:494
unsigned int myNumSplits
Definition: DtShadowSettingsRecord.h:474
Definition: DtShadowSettingsRecord.h:71
float myFarCascadeUpdateFrequency
Definition: DtShadowSettingsRecord.h:490
void setFarCascadeUpdateFrequency(float value)
Sets far cascade update frequency.
Definition: DtShadowSettingsRecord.h:165
Contains DLL export macros.
Definition: DtShadowSettingsRecord.h:61
bool myDirty
Definition: DtShadowSettingsRecord.h:460
SplitDistanceComputeScheme splitDistanceComputeScheme() const
Gets split distance compute scheme.
Definition: DtShadowSettingsRecord.h:232
float myShadowAmbientFactor
Definition: DtShadowSettingsRecord.h:499
std::vector< float > myPolygonOffsetUnits
Definition: DtShadowSettingsRecord.h:478
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:466
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:280
bool myApplyShadowToAmbientLighting
Definition: DtShadowSettingsRecord.h:525
bool usePolygonOffset() const
Gets use polygon offset.
Definition: DtShadowSettingsRecord.h:180
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:131
unsigned int mySpotLightShadowMapSize
Definition: DtShadowSettingsRecord.h:523
double evsmPositiveExponent() const
Gets exponential variance shadow maps(EVSM) positive exponent.
Definition: DtShadowSettingsRecord.h:330
unsigned int myPcfFilterWidth
Definition: DtShadowSettingsRecord.h:510
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:482
DataStorageScheme myDataStorageScheme
Definition: DtShadowSettingsRecord.h:504
unsigned int numPersistentPassesPerCascade() const
Gets number of persistent passes per cascade.
Definition: DtShadowSettingsRecord.h:274
double myVSMMininumVariance
Definition: DtShadowSettingsRecord.h:518
void setAdjustFarAndFlagsBasedOnHAT(bool enabled)
Sets to make the near cascades automatically change size and flags in the air.
Definition: DtShadowSettingsRecord.h:295
bool myUseMaximumViewDistance
Definition: DtShadowSettingsRecord.h:484
unsigned int pcfFilterWidth() const
Gets PCF filter width.
Definition: DtShadowSettingsRecord.h:286
ShadowStabilizationScheme
Definition: DtShadowSettingsRecord.h:32
bool myVisualizeShadows
Definition: DtShadowSettingsRecord.h:521
void serialize(Archive &ar, unsigned int version)
Definition: DtShadowSettingsRecord.h:361
PreFilteringScheme preFilteringScheme() const
Gets pre-filtering scheme.
Definition: DtShadowSettingsRecord.h:250
SplitDistanceComputeScheme mySplitDistanceComputeScheme
Definition: DtShadowSettingsRecord.h:501
double myESMDarkeningFactor
Definition: DtShadowSettingsRecord.h:520
double myMixedSplitInterp
Definition: DtShadowSettingsRecord.h:502
Definition: DtShadowSettingsRecord.h:62
SplitSelectionScheme mySplitSelectionScheme
Definition: DtShadowSettingsRecord.h:503
bool myTerrainCastsShadows
Definition: DtShadowSettingsRecord.h:470
PreFilteringScheme myPreFilteringScheme
Definition: DtShadowSettingsRecord.h:505
Definition: DtShadowSettingsRecord.h:48
unsigned int myNumPersistentPassesPerCascade
Definition: DtShadowSettingsRecord.h:508
Definition: DtShadowSettingsRecord.h:72
PoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:78
Definition: DtShadowSettingsRecord.h:41
float myAntiFlickerQuantizationFactor
Definition: DtShadowSettingsRecord.h:522
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:256
bool myBlendCascadesBoundaries
Definition: DtShadowSettingsRecord.h:511
double mySplitFarDistanceBias
Definition: DtShadowSettingsRecord.h:498
Definition: DtShadowSettingsRecord.h:34
PoissonDiskSamplingScheme myPoissonDiskSamplingScheme
Definition: DtShadowSettingsRecord.h:507
bool myUseCachedFarCascade
Definition: DtShadowSettingsRecord.h:488
Definition: DtShadowSettingsRecord.h:81
unsigned int myNumAdditionalPassesPerCascade
Definition: DtShadowSettingsRecord.h:509
bool myShadowsEnabledOnOcean
Definition: DtShadowSettingsRecord.h:464
Definition: DtShadowSettingsRecord.h:63
bool visualizeShadows() const
Gets shadow visualization mode.
Definition: DtShadowSettingsRecord.h:149
bool myMoonCastsShadows
Definition: DtShadowSettingsRecord.h:472
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:524
std::vector< float > myPolygonOffsetFactor
Definition: DtShadowSettingsRecord.h:476
std::string myName
Definition: DtShadowSettingsRecord.h:459
ShadowStabilizationScheme shadowStabilizationScheme() const
Gets shadow stabilization scheme.
Definition: DtShadowSettingsRecord.h:226
bool moonCastsShadows() const
Gets terrain casts shadow flag.
Definition: DtShadowSettingsRecord.h:143
bool dirty() const
Checks if any setting just changed.
Definition: DtShadowSettingsRecord.h:107
bool myPropsCastsShadows
Definition: DtShadowSettingsRecord.h:468
Definition: DtShadowSettingsRecord.h:55
bool myShadowsEnabled
Definition: DtShadowSettingsRecord.h:462
double myEVSMPositiveExponent
Definition: DtShadowSettingsRecord.h:514
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
const std::string & name() const
Returns setting name.
Definition: DtShadowSettingsRecord.h:101
unsigned int myGlobalLightShadowMapSize
Definition: DtShadowSettingsRecord.h:480
bool useFrontFaceCulling() const
Gets use front face culling.
Definition: DtShadowSettingsRecord.h:174
PreFilteringScheme
Definition: DtShadowSettingsRecord.h:59