VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
14 
15 #include <string>
16 #include <vector>
17 
18 namespace makVrv
19 {
20 
21  class DtDe;
22 
24  {
25  public:
27  DtShadowSettingsObject( DtDe& de, DtUniqueID id, const std::string& name="" );
28 
31 
33  void setEntitiesCastsShadows(bool castShadows);
34 
36  bool entitiesCastsShadows() const { return myEntitiesCastsShadows; }
37 
39  void setPropsCastsShadows(bool castShadows);
40 
42  bool propsCastsShadows() const { return myPropsCastsShadows; }
43 
45  void setTerrainCastsShadows(bool castShadows);
46 
48  bool terrainCastsShadows() const { return myTerrainCastsShadows; }
49 
51  void setCloudsCastsShadows(bool castShadows);
52 
54  bool cloudsCastsShadows() const { return myCloudsCastsShadows; }
55 
57  void setVisualizeShadows(bool visualizeShadows);
58 
60  bool visualizeShadows() const { return myVisualizeShadows; }
61 
63  void setNumberOfSplits(unsigned int numSplits);
64 
66  unsigned int numberOfSplits() const { return myNumSplits; }
67 
69  void setUseFrontFaceCulling(bool useFrontFaceCulling);
70 
72  bool useFrontFaceCulling() const { return myUseFrontFaceCulling; }
73 
75  void setUsePolygonOffset(bool usePolygonOffset);
76 
78  bool usePolygonOffset() const { return myUsePolygonOffset; }
79 
81  void setPolygonOffset(unsigned int splitIndex, float factor, float units);
82 
84  float polygonOffsetFactor(unsigned int splitIndex) const;
85 
87  float polygonOffsetUnits(unsigned int splitIndex) const;
88 
90  void setSpotLightShadowMapSize(unsigned int size);
91 
93  unsigned int spotLightShadowMapSize() const { return mySpotLightShadowMapSize; }
94 
96  void setGlobalLightShadowMapSize(unsigned int size);
97 
99  unsigned int globalLightShadowMapSize() const { return myGlobalLightShadowMapSize; }
100 
102  void setUseMaximumViewDistance(bool useMaximumViewDistance);
103 
105  bool useMaximumViewDistance() const { return myUseMaximumViewDistance; }
106 
108  void setMaximumViewDistance(double viewDistance);
109 
111  double maximumViewDistance() const { return myMaximumViewDistance; }
112 
114  void setSplitNearDistanceMinimumBias(double bias);
115 
117  double splitNearDistanceMinimumBias() const { return mySplitNearDistanceMinimumBias; }
118 
120  void setSplitNearDistanceMaximumBias(double bias);
121 
123  double splitNearDistanceMaximumBias() const { return mySplitNearDistanceMaximumBias; }
124 
126  void setSplitFarDistanceBias(double bias);
127 
129  double splitFarDistanceBias() const { return mySplitFarDistanceBias; }
130 
132  void setShadowAmbientFactor(float shadowAmbientFactor );
133 
135  float shadowAmbientFactor() const { return myShadowAmbientFactor; }
136 
138  {
141  NO_ANTI_FLICKERING
142  };
143 
145  void setShadowStabilizationScheme(ShadowStabilizationScheme shadowStabilizationScheme);
146 
148  ShadowStabilizationScheme shadowStabilizationScheme() const { return myShadowStabilizationScheme; }
149 
151  void setAntiFlickerQuantizationFactor(float antiFlickerQuantizationFactor);
152 
154  float antiFlickerQuantizationFactor() const { return myAntiFlickerQuantizationFactor; }
155 
157  {
160  MIXED_LOGARITHMIC_UNIFORM_SPLIT
161  };
162 
164  void setSplitDistanceComputeScheme(SplitDistanceComputeScheme splitDistanceComputeScheme);
165 
167  SplitDistanceComputeScheme splitDistanceComputeScheme() const { return mySplitDistanceComputeScheme; }
168 
170  void setMixedSplitInterpolationValue(double interp);
171 
173  double mixedSplitInterpolationValue() const { return myMixedSplitInterp; }
174 
176  {
178  LIGHT_SPACE
179  };
180 
182  void setSplitSelectionScheme(SplitSelectionScheme splitSelectionScheme);
183 
185  SplitSelectionScheme splitSelectionScheme() const { return mySplitSelectionScheme; }
186 
188  {
191  TEXTURE_2D_ARRAY_STORAGE
192  };
193 
195  void setDataStorageScheme(DataStorageScheme dataStorageScheme);
196 
198  DataStorageScheme dataStorageScheme() const { return myDataStorageScheme; }
199 
201  {
205  NO_PRE_FILTERING
206  };
207 
209  void setPreFilteringScheme(PreFilteringScheme preFilteringScheme);
210 
212  PreFilteringScheme preFilteringScheme() const { return myPreFilteringScheme; }
213 
215  {
225  NO_FILTERING
226  };
227 
229  void setFilteringScheme(FilteringScheme filteringScheme);
230 
232  FilteringScheme filteringScheme() const { return myFilteringScheme; }
233 
235  {
238  ROTATED_SAMPLING
239  };
240 
242  void setPoissonDiskSamplingScheme(PoissonDiskSamplingScheme poissonDiskSamplingScheme);
243 
245  PoissonDiskSamplingScheme poissonDiskSamplingScheme() const { return myPoissonDiskSamplingScheme; }
246 
248  void setDirty(bool dirty);
249 
251  bool dirty() const { return myDirty; }
252 
254  void setNameAndRegister(const std::string& name, int quality);
255 
257  const std::string& name() { return myName; }
258 
260  int quality() const { return myQuality; }
261 
263  void setNumPersistentPassesPerCascade(unsigned int numPasses);
264 
266  unsigned int numPersistentPassesPerCascade() const { return myNumPersistentPassesPerCascade; }
267 
269  void setNumAdditionalPassesPerCascade(unsigned int numPasses);
270 
272  unsigned int numAdditionalPassesPerCascade() const { return myNumAdditionalPassesPerCascade; }
273 
275  void setPcfFilterWidth(unsigned int pcfFilterWidth);
276 
278  unsigned int pcfFilterWidth() const { return myPcfFilterWidth; }
279 
281  void setBlendCascadesBoundaries(bool blendCascadesBoundaries);
282 
284  bool blendCascadesBoundaries() const { return myBlendCascadesBoundaries; }
285 
287  void setUseSDSM(bool useSDSM);
288 
290  bool useSDSM() const { return myUseSDSM; }
291 
293  void setSDSMReadBackLatency(unsigned int sdsmReadBackLatency);
294 
296  unsigned int sdsmReadBackLatency() const { return mySDSMReadBackLatency; }
297 
299  void setUseCameraDepthBufferForSDSM(bool useCameraDepthBufferForSDSM);
300 
302  bool useCameraDepthBufferForSDSM() const { return myUseCameraDepthBufferForSDSM; }
303 
305  void setSDSMRenderInterval(double sdsmRenderInterval);
306 
308  double sdsmRenderInterval() const { return mySDSMRenderInterval; }
309 
311  void setEVSMPositiveExponent(double evsmPositiveExponent);
312 
314  double evsmPositiveExponent() const { return myEVSMPositiveExponent; }
315 
317  void setEVSMNegativeExponent(double evsmNegativeExponent);
318 
320  double evsmNegativeExponent() const { return myEVSMNegativeExponent; }
321 
323  void setVSMMininumVariance(double vsmMininumVariance);
324 
326  double vsmMininumVariance() const { return myVSMMininumVariance; }
327 
329  void setESMDarkeningFactor(double esmDarkeningFactor);
330 
332  double esmDarkeningFactor() const { return myESMDarkeningFactor; }
333 
334  protected:
335 
337 
339 
341 
343 
344  unsigned int myNumSplits;
345 
347 
348  std::vector<float> myPolygonOffsetFactor;
349 
350  std::vector<float> myPolygonOffsetUnits;
351 
353 
355 
357 
359 
361 
363 
365 
367 
369 
371 
373 
375 
377 
379 
381 
383 
385 
387 
389 
391 
393 
395 
396  unsigned int myPcfFilterWidth;
397 
399 
400  bool myUseSDSM;
401 
402  unsigned int mySDSMReadBackLatency;
403 
405 
407 
409 
411 
413 
414  bool myDirty;
415 
417 
418  std::string myName;
419 
421  };
422 
423 }
424 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)