VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtShadowSettingsObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <string>
17 #include <vector>
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23 
24  class DT_DLL_VRVCORE DtShadowSettingsObject // this should really just be public DtShadowSettingsRecord
25  {
26  public:
28  DtShadowSettingsObject(DtDe& de, DtUniqueID id, const std::string& name = "");
29 
32 
34  void setNameAndRegister(const std::string& name, int quality);
35 
37  const std::string& name() { return myName; }
38 
40  int quality() const { return myQuality; }
41 
43  void setDirty(bool dirty);
44 
46  bool dirty() const { return myDirty; }
47 
49  void setEntitiesCastsShadows(bool castShadows);
50 
52  bool entitiesCastsShadows() const { return myEntitiesCastsShadows; }
53 
55  void setPropsCastsShadows(bool castShadows);
56 
58  bool propsCastsShadows() const { return myPropsCastsShadows; }
59 
61  void setTerrainCastsShadows(bool castShadows);
62 
64  bool terrainCastsShadows() const { return myTerrainCastsShadows; }
65 
67  void setCloudsCastsShadows(bool castShadows);
68 
70  bool cloudsCastsShadows() const { return myCloudsCastsShadows; }
71 
73  void setVisualizeShadows(bool visualizeShadows);
74 
76  bool visualizeShadows() const { return myVisualizeShadows; }
77 
79  void setNumberOfSplits(unsigned int numSplits);
80 
82  unsigned int numberOfSplits() const { return myNumSplits; }
83 
86  void setUseCachedFarCascade(bool useCachedFarCascade);
87 
89  bool useCachedFarCascade() const { return myUseCachedFarCascade; }
90 
92  void setFarCascadeUpdateFrequency(float value) { myFarCascadeUpdateFrequency = value; }
93 
95  float farCascadeUpdateFrequency() const {return myFarCascadeUpdateFrequency; }
96 
98  void setUseFrontFaceCulling(bool useFrontFaceCulling);
99 
101  bool useFrontFaceCulling() const { return myUseFrontFaceCulling; }
102 
104  void setUsePolygonOffset(bool usePolygonOffset);
105 
107  bool usePolygonOffset() const { return myUsePolygonOffset; }
108 
110  void setPolygonOffset(unsigned int splitIndex, float factor, float units);
111 
113  float polygonOffsetFactor(unsigned int splitIndex) const;
114 
116  float polygonOffsetUnits(unsigned int splitIndex) const;
117 
119  void setSpotLightShadowMapSize(unsigned int size);
120 
122  unsigned int spotLightShadowMapSize() const { return mySpotLightShadowMapSize; }
123 
125  void setGlobalLightShadowMapSize(unsigned int size);
126 
128  unsigned int globalLightShadowMapSize() const { return myGlobalLightShadowMapSize; }
129 
131  void setUseMaximumViewDistance(bool useMaximumViewDistance);
132 
134  bool useMaximumViewDistance() const { return myUseMaximumViewDistance; }
135 
137  void setMaximumViewDistance(double viewDistance);
138 
140  double maximumViewDistance() const { return myMaximumViewDistance; }
141 
143  void setShadowAmbientFactor(float shadowAmbientFactor);
144 
146  float shadowAmbientFactor() const { return myShadowAmbientFactor; }
147 
149  void setShadowStabilizationScheme(makArchives::DtShadowSettingsRecord::ShadowStabilizationScheme shadowStabilizationScheme);
150 
153 
155  void setSplitDistanceComputeScheme(makArchives::DtShadowSettingsRecord::SplitDistanceComputeScheme splitDistanceComputeScheme);
156 
159 
161  void setMixedSplitInterpolationValue(double interp);
162 
164  double mixedSplitInterpolationValue() const { return myMixedSplitInterp; }
165 
167  void setSplitSelectionScheme(makArchives::DtShadowSettingsRecord::SplitSelectionScheme splitSelectionScheme);
168 
171 
173  void setDataStorageScheme(makArchives::DtShadowSettingsRecord::DataStorageScheme dataStorageScheme);
174 
177 
179  void setPreFilteringScheme(makArchives::DtShadowSettingsRecord::PreFilteringScheme preFilteringScheme);
180 
183 
185  void setFilteringScheme(makArchives::DtShadowSettingsRecord::FilteringScheme filteringScheme);
186 
189 
191  void setPoissonDiskSamplingScheme(makArchives::DtShadowSettingsRecord::PoissonDiskSamplingScheme poissonDiskSamplingScheme);
192 
195 
197  void setUseViewportMulticast(bool useViewportMulticast);
198 
200  bool useViewportMulticast() const { return myUseViewportMulticast; }
201 
203  void setNumPersistentPassesPerCascade(unsigned int numPasses);
204 
206  unsigned int numPersistentPassesPerCascade() const { return myNumPersistentPassesPerCascade; }
207 
209  void setNumAdditionalPassesPerCascade(unsigned int numPasses);
210 
212  unsigned int numAdditionalPassesPerCascade() const { return myNumAdditionalPassesPerCascade; }
213 
215  void setPcfFilterWidth(unsigned int pcfFilterWidth);
216 
218  unsigned int pcfFilterWidth() const { return myPcfFilterWidth; }
219 
221  void setBlendCascadesBoundaries(bool blendCascadesBoundaries);
222 
224  bool blendCascadesBoundaries() const { return myBlendCascadesBoundaries; }
225 
227  void setUseSDSM(bool useSDSM);
228 
230  bool useSDSM() const { return myUseSDSM; }
231 
233  void setSDSMReadBackLatency(unsigned int sdsmReadBackLatency);
234 
236  unsigned int sdsmReadBackLatency() const { return mySDSMReadBackLatency; }
237 
239  void setUseCameraDepthBufferForSDSM(bool useCameraDepthBufferForSDSM);
240 
242  bool useCameraDepthBufferForSDSM() const { return myUseCameraDepthBufferForSDSM; }
243 
245  void setSDSMRenderInterval(double sdsmRenderInterval);
246 
248  double sdsmRenderInterval() const { return mySDSMRenderInterval; }
249 
251  void setAdjustFarAndFlagsBasedOnHAT(bool enabled) { myAdjustFarAndFlagsBasedOnHAT = enabled; }
252 
254  bool adjustFarAndFlagsBasedOnHAT() const { return myAdjustFarAndFlagsBasedOnHAT; }
255 
256 
258 
260  void setSplitNearDistanceMinimumBias(double bias);
261 
263  double splitNearDistanceMinimumBias() const { return 0.0f; }// { return mySplitNearDistanceMinimumBias; }
264 
266  void setSplitNearDistanceMaximumBias(double bias);
267 
269  double splitNearDistanceMaximumBias() const { return 0.0f; } //{ return mySplitNearDistanceMaximumBias; }
270 
272  void setSplitFarDistanceBias(double bias);
273 
275  double splitFarDistanceBias() const { return 0.0f; } //{ return mySplitFarDistanceBias; }
276 
278  void setEVSMPositiveExponent(double evsmPositiveExponent);
279 
281  double evsmPositiveExponent() const { return 0.0; } //{ return myEVSMPositiveExponent; }
282 
284  void setEVSMNegativeExponent(double evsmNegativeExponent);
285 
287  double evsmNegativeExponent() const { return 0.0; }// {return myEVSMNegativeExponent; }
288 
290  void setVSMMininumVariance(double vsmMininumVariance);
291 
293  double vsmMininumVariance() const { return 0.0; }//return myVSMMininumVariance;
294 
296  void setESMDarkeningFactor(double esmDarkeningFactor);
297 
299  double esmDarkeningFactor() const { return 0.0; }// myESMDarkeningFactor; }
300 
302  void setAntiFlickerQuantizationFactor(float antiFlickerQuantizationFactor);
303 
305  float antiFlickerQuantizationFactor() const { return 64.0f; } // { return myAntiFlickerQuantizationFactor; }
306 
307  protected:
308  std::string myName;
309 
311 
313 
314  bool myDirty;
315 
317 
319 
321 
323 
324  unsigned int myNumSplits;
325 
326  std::vector<float> myPolygonOffsetFactor;
327 
328  std::vector<float> myPolygonOffsetUnits;
329 
331 
333 
335 
337 
339 
341 
343 
345 
347 
349 
351 
352 
354 
356 
358 
360 
362 
364 
366 
368 
370 
371  unsigned int myPcfFilterWidth;
372 
374 
375  bool myUseSDSM;
376 
377  unsigned int mySDSMReadBackLatency;
378 
380 
381 
382 
383  //double mySplitNearDistanceMinimumBias;
384 
385  //double mySplitNearDistanceMaximumBias;
386 
387  //double mySplitFarDistanceBias;
388 
389  //double myEVSMPositiveExponent;
390 
391  //double myEVSMNegativeExponent;
392 
393  //double myVSMMininumVariance;
394 
395  //double myESMDarkeningFactor;
396 
397 
399  //float myAntiFlickerQuantizationFactor;
402 
403  };
404 
405 }
406 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)