43 void setName(
const std::string& name);
46 const std::string& name()
const;
49 void setEntitiesCastsShadows(
bool castShadows);
52 bool entitiesCastsShadows()
const;
55 void setPropsCastsShadows(
bool castShadows);
58 bool propsCastsShadows()
const;
61 void setTerrainCastsShadows(
bool castShadows);
64 bool terrainCastsShadows()
const;
67 void setCloudsCastsShadows(
bool castShadows);
70 bool cloudsCastsShadows()
const;
73 void setVisualizeShadows(
bool visualizeShadows);
76 bool visualizeShadows()
const;
79 void setNumberOfSplits(
unsigned int numSplits);
82 unsigned int numberOfSplits()
const;
85 void setUseFrontFaceCulling(
bool useFrontFaceCulling);
88 bool useFrontFaceCulling()
const;
91 void setUsePolygonOffset(
bool usePolygonOffset);
94 bool usePolygonOffset()
const;
97 void setPolygonOffset(
unsigned int splitIndex,
float factor,
float units);
100 float polygonOffsetFactor(
unsigned int splitIndex)
const;
103 float polygonOffsetUnits(
unsigned int splitIndex)
const;
106 void setSpotLightShadowMapSize(
unsigned int size);
109 unsigned int spotLightShadowMapSize()
const;
112 void setGlobalLightShadowMapSize(
unsigned int size);
115 unsigned int globalLightShadowMapSize()
const;
118 void setUseMaximumViewDistance(
bool useMaximumViewDistance);
121 bool useMaximumViewDistance()
const;
124 void setMaximumViewDistance(
double viewDistance);
127 double maximumViewDistance()
const;
130 void setSplitNearDistanceMinimumBias(
double bias);
133 double splitNearDistanceMinimumBias()
const;
136 void setSplitNearDistanceMaximumBias(
double bias);
139 double splitNearDistanceMaximumBias()
const;
142 void setSplitFarDistanceBias(
double bias);
145 double splitFarDistanceBias()
const;
148 void setShadowAmbientFactor(
float shadowAmbientFactor );
151 float shadowAmbientFactor()
const;
161 void setShadowStabilizationScheme(ShadowStabilizationScheme shadowStabilizationScheme);
164 ShadowStabilizationScheme shadowStabilizationScheme()
const;
167 void setAntiFlickerQuantizationFactor(
float antiFlickerQuantizationFactor);
170 float antiFlickerQuantizationFactor()
const;
176 MIXED_LOGARITHMIC_UNIFORM_SPLIT
180 void setSplitDistanceComputeScheme(SplitDistanceComputeScheme splitDistanceComputeScheme);
183 SplitDistanceComputeScheme splitDistanceComputeScheme()
const;
186 void setMixedSplitInterpolationValue(
double interp);
189 double mixedSplitInterpolationValue()
const;
198 void setSplitSelectionScheme(SplitSelectionScheme splitSelectionScheme);
201 SplitSelectionScheme splitSelectionScheme()
const;
207 TEXTURE_2D_ARRAY_STORAGE
211 void setDataStorageScheme(DataStorageScheme dataStorageScheme);
214 DataStorageScheme dataStorageScheme()
const;
225 void setPreFilteringScheme(PreFilteringScheme preFilteringScheme);
228 PreFilteringScheme preFilteringScheme()
const;
241 void setFilteringScheme(FilteringScheme filteringScheme);
244 FilteringScheme filteringScheme()
const;
254 void setPoissonDiskSamplingScheme(PoissonDiskSamplingScheme poissonDiskSamplingScheme);
257 PoissonDiskSamplingScheme poissonDiskSamplingScheme()
const;
260 void setNumPersistentPassesPerCascade(
unsigned int numPasses);
263 unsigned int numPersistentPassesPerCascade()
const;
266 void setNumAdditionalPassesPerCascade(
unsigned int numPasses);
269 unsigned int numAdditionalPassesPerCascade()
const;
272 void setPcfFilterWidth(
unsigned int pcfFilterWidth);
275 unsigned int pcfFilterWidth()
const;
278 void setBlendCascadesBoundaries(
bool blendCascadesBoundaries);
281 bool blendCascadesBoundaries()
const;
284 void setUseSDSM(
bool useSDSM);
287 bool useSDSM()
const;
290 void setSDSMReadBackLatency(
unsigned int sdsmReadBackLatency);
293 unsigned int sdsmReadBackLatency()
const;
296 void setUseCameraDepthBufferForSDSM(
bool useCameraDepthBufferForSDSM);
299 bool useCameraDepthBufferForSDSM()
const;
302 void setEVSMPositiveExponent(
double evsmPositiveExponent);
305 double evsmPositiveExponent()
const;
308 void setEVSMNegativeExponent(
double evsmNegativeExponent);
311 double evsmNegativeExponent()
const;
314 void setVSMMininumVariance(
double vsmMininumVariance);
317 double vsmMininumVariance()
const;
320 void setESMDarkeningFactor(
double esmDarkeningFactor);
323 double esmDarkeningFactor()
const;
326 void setDirty(
bool dirty);
332 friend class boost::serialization::access;
334 template <
typename Archive>
335 void serialize(Archive& ar,
unsigned int version)
337 ar & BOOST_SERIALIZATION_NVP(myName);
338 ar & BOOST_SERIALIZATION_NVP(myNumSplits);
339 ar & BOOST_SERIALIZATION_NVP(myEntitiesCastsShadows);
340 ar & BOOST_SERIALIZATION_NVP(myPropsCastsShadows);
341 ar & BOOST_SERIALIZATION_NVP(myTerrainCastsShadows);
342 ar & BOOST_SERIALIZATION_NVP(myVisualizeShadows);
343 ar & BOOST_SERIALIZATION_NVP(myPolygonOffsetFactor);
344 ar & BOOST_SERIALIZATION_NVP(myPolygonOffsetUnits);
345 ar & BOOST_SERIALIZATION_NVP(myUsePolygonOffset);
346 ar & BOOST_SERIALIZATION_NVP(mySpotLightShadowMapSize);
347 ar & BOOST_SERIALIZATION_NVP(myGlobalLightShadowMapSize);
348 ar & BOOST_SERIALIZATION_NVP(myMaximumViewDistance);
349 ar & BOOST_SERIALIZATION_NVP(myUseMaximumViewDistance);
350 ar & BOOST_SERIALIZATION_NVP(myUseFrontFaceCulling);
351 ar & BOOST_SERIALIZATION_NVP(mySplitNearDistanceMinimumBias);
352 ar & BOOST_SERIALIZATION_NVP(mySplitNearDistanceMaximumBias);
353 ar & BOOST_SERIALIZATION_NVP(mySplitFarDistanceBias);
354 ar & BOOST_SERIALIZATION_NVP(myShadowAmbientFactor);
355 ar & BOOST_SERIALIZATION_NVP(myShadowStabilizationScheme);
356 ar & BOOST_SERIALIZATION_NVP(myAntiFlickerQuantizationFactor);
357 ar & BOOST_SERIALIZATION_NVP(mySplitDistanceComputeScheme);
358 ar & BOOST_SERIALIZATION_NVP(myMixedSplitInterp);
359 ar & BOOST_SERIALIZATION_NVP(mySplitSelectionScheme);
360 ar & BOOST_SERIALIZATION_NVP(myDataStorageScheme);
361 ar & BOOST_SERIALIZATION_NVP(myPreFilteringScheme);
362 ar & BOOST_SERIALIZATION_NVP(myFilteringScheme);
363 ar & BOOST_SERIALIZATION_NVP(myPoissonDiskSamplingScheme);
364 ar & BOOST_SERIALIZATION_NVP(myNumAdditionalPassesPerCascade);
365 ar & BOOST_SERIALIZATION_NVP(myPcfFilterWidth);
366 ar & BOOST_SERIALIZATION_NVP(myBlendCascadesBoundaries);
367 ar & BOOST_SERIALIZATION_NVP(myUseSDSM);
368 ar & BOOST_SERIALIZATION_NVP(mySDSMReadBackLatency);
369 ar & BOOST_SERIALIZATION_NVP(myUseCameraDepthBufferForSDSM);
370 ar & BOOST_SERIALIZATION_NVP(myEVSMPositiveExponent);
371 ar & BOOST_SERIALIZATION_NVP(myEVSMNegativeExponent);
372 ar & BOOST_SERIALIZATION_NVP(myVSMMininumVariance);
373 ar & BOOST_SERIALIZATION_NVP(myESMDarkeningFactor);
374 ar & BOOST_SERIALIZATION_NVP(myDirty);
375 ar & BOOST_SERIALIZATION_NVP(myNumPersistentPassesPerCascade);
379 ar & BOOST_SERIALIZATION_NVP(myCloudsCastsShadows);