VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRenderSettingsRecord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
12 
13 namespace makArchives
14 {
19  {
20  public:
21 
24 
27 
30 
33 
35  void swap(DtRenderSettingsRecord& other);
36 
38  bool wireframeMode() const;
39  void setWireframeMode(bool setting);
41 
43  bool terrainScalingEnabled() const;
44  void setTerrainScalingEnabled(bool enabled);
46 
48  double terrainScaleFactor() const;
49  void setTerrainScaleFactor(double scaleFactor);
51 
53  bool clearTrackHistoryOnTerrainScaleChanged() const;
54  void setClearTrackHistoryOnTerrainScaleChanged(bool clear);
56 
58  bool useAutofocus() const;
59  void setUseAutofocus(bool useAutofocus);
61 
63  double focalDepth() const;
64  void setFocalDepth(double focalDepth);
66 
68  double focalRange() const;
69  void setFocalRange(double focalRange);
71 
73  double waterOnScreenSize() const;
74  void setWaterOnScreenSize(double value);
76 
78  float indirectLodTransitionPercentage() const;
79  void setIndirectLodTransitionPercentage(float value);
81 
83  unsigned int performanceOverlayState() const;
84  void setPerformanceOverlayState(unsigned int state);
86 
88  bool imguiOverlayEnabled() const;
89  void setImguiOverlayEnabled(bool setting);
91 
93  float planViewGeocentricOccludedTransparency() const;
94  void setPlanViewGeocentricOccludedTransparency(float f);
96 
98  bool lensFlareEnabled() const;
99  void setLensFlareEnabled(bool setting);
101 
103  bool crepuscularRaysEnabled() const;
104  void setCrepuscularRaysEnabled(bool setting);
106 
108  bool colorizePerDrawableEnabled() const;
109  void setColorizePerDrawableEnabled(bool setting);
111 
113  float terrainMagnificationHighLodAngle() const;
114  void setTerrainMagnificationHighLodAngle(float radians);
116 
118  bool atcGlobalModelEnable() const;
119  void setAtcGlobalModelEnable(bool setting);
122  bool atcGlobalTerrainEnable() const;
123  void setAtcGlobalTerrainEnable(bool setting);
126  bool atcEnableDither() const;
127  void setAtcEnableDither(bool setting);
130  bool wheelRotationEnable() const;
131  void setWheelRotationEnable(bool setting);
133 
136  bool artPartSmoothingEnabled() const;
137  void setArtPartSmoothingEnabled(bool setting);
138 
139  float artPartSmoothingPeriod() const;
140  void setArtPartSmoothingPeriod(float period);
142 
144  float hbaoRadius() const;
145  void setHbaoRadius(float value);
147 
149  float hbaoBias() const;
150  void setHbaoBias(float value);
152 
154  float hbaoExponent() const;
155  void setHbaoExponent(float value);
157 
159  float hbaoSmallScalar() const;
160  void setHbaoSmallScalar(float value);
162 
164  float hbaoLargeScalar() const;
165  void setHbaoLargeScalar(float value);
167 
169  int hbaoDepthClampMode() const;
170  void setHbaoDepthClampMode(int mode);
172 
173 
175  bool applyShadowToAmbientLighting() const;
176  void setApplyShadowToAmbientLighting(bool applyShadowToAmbientLighting);
178 
179  protected:
180 
182  friend class boost::serialization::access;
183 
187  template<class Archive>
188  void serialize(Archive& ar, const unsigned int version)
189  {
190  ar& BOOST_SERIALIZATION_NVP(myWireframeMode);
191 
192  if (version <= 38)
193  {
194  bool myShadowMode = false; // This is not used anymore
195  ar& BOOST_SERIALIZATION_NVP(myShadowMode);
196  ar& BOOST_SERIALIZATION_NVP(myShadowQuality);
197  ar& BOOST_SERIALIZATION_NVP(myEntityShadowMode);
198  ar& BOOST_SERIALIZATION_NVP(myPropShadowMode);
199  ar& BOOST_SERIALIZATION_NVP(myTerrainShadowMode);
200  }
201 
202  if (version >= 1 && version <= 43)
203  {
204  ar& BOOST_SERIALIZATION_NVP(myPerformanceOverlayEnabled);
205  }
206  else if (version > 43)
207  {
208  ar& BOOST_SERIALIZATION_NVP(myPerformanceOverlayState);
209  }
210 
211  if (version == 2)
212  {
213  // DDS Flip is no longer part of render settings.
214  bool flip;
215  ar& BOOST_SERIALIZATION_NVP(flip);
216  }
217 
218  if (version >= 4)
219  {
220  ar& BOOST_SERIALIZATION_NVP(myPlanViewGeocentricOccludedTransparency);
221  }
222  if (version >= 5)
223  {
224  ar& BOOST_SERIALIZATION_NVP(myTerrainScalingEnabled);
225  ar& BOOST_SERIALIZATION_NVP(myTerrainScaleFactor);
226  ar& BOOST_SERIALIZATION_NVP(myClearTrackHistoryOnTerrainScaleChanged);
227  }
228  if (version >= 7 && version <= 29)
229  {
230  ar& BOOST_SERIALIZATION_NVP(myPerPixelLightingEnabled);
231  }
232  if (version >= 8 && version <= 27)
233  {
234  ar& BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsEnabled);
235  }
236  if (version >= 9 && version <= 27)
237  {
238  ar& BOOST_SERIALIZATION_NVP(myStaticOceanLodRange);
239  }
240  if (version <= 32)
241  {
242  ar& BOOST_SERIALIZATION_NVP(myLensFlareEnabled);
243  }
244  if (version >= 10)
245  {
246  ar& BOOST_SERIALIZATION_NVP(myCrepuscularRaysEnabled);
247  }
248  if (version >= 11 && version < 18)
249  {
250  ar& BOOST_SERIALIZATION_NVP(myRainSplashEffectEnabled);
251  ar& BOOST_SERIALIZATION_NVP(myWaveSplashEffectEnabled);
252  }
253  if (version >= 12 && version <= 27)
254  {
255  if (version < 18)
256  {
257  ar& BOOST_SERIALIZATION_NVP(myOceanSprayEffectEnabled);
258  }
259  ar& BOOST_SERIALIZATION_NVP(myOceanHeightMapResolution);
260  }
261  if (version >= 13)
262  {
263  ar& BOOST_SERIALIZATION_NVP(myUsePixelShaderForOsgEarthModels);
264  }
265  if (version >= 14)
266  {
267  ar& BOOST_SERIALIZATION_NVP(myMaximumDynamicLights);
268  }
269  if (version >= 15 && version <= 27)
270  {
271  ar& BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsLODScale);
272  ar& BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsSpecifyFarClip);
273  ar& BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsFarClip);
274  }
275  if (version >= 16 && version <= 27)
276  {
277  ar& BOOST_SERIALIZATION_NVP(myWaveSprayEffectEnabled);
278  ar& BOOST_SERIALIZATION_NVP(myRotorWashDecalEnabled);
279  }
280  if (version >= 17 && version <= 47)
281  {
282  bool myInstancedRenderingEnabled = false;
283  ar& BOOST_SERIALIZATION_NVP(myInstancedRenderingEnabled); // NOT USED
284  }
285  // version 18 only removed items...
286  if (version >= 19 && version <= 28)
287  {
288  ar& BOOST_SERIALIZATION_NVP(myAmbientFactor);
289  }
290  if (version >= 20 && version <= 28)
291  {
292  ar& BOOST_SERIALIZATION_NVP(myUseMaterialAmbient);
293  }
294  if (version >= 21)
295  {
296  ar& BOOST_SERIALIZATION_NVP(myUseAutofocus);
297  ar& BOOST_SERIALIZATION_NVP(myFocalRange);
298  ar& BOOST_SERIALIZATION_NVP(myFocalDepth);
299  }
300  if (version >= 22 && version <= 28)
301  {
302  ar& BOOST_SERIALIZATION_NVP(myDiffuseScaleFactor);
303  ar& BOOST_SERIALIZATION_NVP(myUseMaterialDiffuse);
304  }
305  if (version >= 23 && version <= 42) //Profiler overlay enabled is no longer saved out
306  {
307  ar& BOOST_SERIALIZATION_NVP(myProfilerOverlayEnabled);
308  }
309  if (version >= 24 && version <= 27)
310  {
311  ar& BOOST_SERIALIZATION_NVP(myTidalStreamWakesEnabled);
312  }
313  if (version >= 25 && version <= 27)
314  {
315  ar& BOOST_SERIALIZATION_NVP(myRegenerateCubeMapThreshold);
316  ar& BOOST_SERIALIZATION_NVP(myRegenerateHeightMapPercThreshold);
317  ar& BOOST_SERIALIZATION_NVP(myOmitCloudInCubeMap);
318  }
319  if (version >= 26 && version <= 27)
320  {
321  ar& BOOST_SERIALIZATION_NVP(myOceanHeightMapTextureSize);
322  }
323  if (version >= 27 && version <= 28)
324  {
325  ar& BOOST_SERIALIZATION_NVP(myDiffuseFactor);
326  ar& BOOST_SERIALIZATION_NVP(myAmbientScaleFactor);
327  }
328  if (version >= 31)
329  {
330  if (version < 42)
331  {
332  ar& BOOST_SERIALIZATION_NVP(myPagedLodMagnificationHighLodAngle);
333  }
334  ar& BOOST_SERIALIZATION_NVP(myWaterOnScreenSize);
335  }
336  if (version >= 34)
337  {
338  ar& BOOST_SERIALIZATION_NVP(myAtcGlobalModelEnable);
339  ar& BOOST_SERIALIZATION_NVP(myAtcGlobalTerrainEnable);
340  ar& BOOST_SERIALIZATION_NVP(myAtcEnableDither);
341  }
342  if (version >= 35)
343  {
344  ar& BOOST_SERIALIZATION_NVP(myImguiOverlayEnabled);
345  }
346  if (version >= 36 && version <= 46)
347  {
348  bool myOcclusionCullingEnabled = false;
349  ar& BOOST_SERIALIZATION_NVP(myOcclusionCullingEnabled); // was removed: https://jira.mak.com/browse/VRV-4698
350  }
351  if (version >= 37)
352  {
353  ar& BOOST_SERIALIZATION_NVP(myIndirectLodTransitionPercentage);
354  }
355  if (version >= 38 && version <= 43)
356  {
357  ar& BOOST_SERIALIZATION_NVP(myWheelRotationEnabled);
358  }
359  if (version >= 40 && version <= 43)
360  {
361  ar& BOOST_SERIALIZATION_NVP(myArtPartSmoothingEnabled);
362  ar& BOOST_SERIALIZATION_NVP(myArtPartSmoothingPeriod);
363  }
364  if (version >= 41 && version < 49)
365  {
366  bool myShadowMode = false; // This is not used anymore
367  ar& BOOST_SERIALIZATION_NVP(myShadowMode);
368  }
369  if (version >= 42)
370  {
371  ar& BOOST_SERIALIZATION_NVP(myTerrainMagnificationHighLodAngle);
372  }
373  if (version >= 44)
374  {
375  ar& BOOST_SERIALIZATION_NVP(myColorizePerDrawableEnabled);
376  }
377 
378  if (version >= 45)
379  {
380  ar& BOOST_SERIALIZATION_NVP(myHbaoRadius);
381  ar& BOOST_SERIALIZATION_NVP(myHbaoBias);
382  ar& BOOST_SERIALIZATION_NVP(myHbaoExponent);
383  ar& BOOST_SERIALIZATION_NVP(myHbaoSmallScalar);
384  ar& BOOST_SERIALIZATION_NVP(myHbaoLargeScalar);
385  ar& BOOST_SERIALIZATION_NVP(myHbaoDepthClampMode);
386  }
387 
388  if (version >= 46)
389  {
390  ar& BOOST_SERIALIZATION_NVP(myApplyShadowToAmbientLighting);
391  }
392  }
393 
394  protected:
402  bool myPerformanceOverlayEnabled; // no longer used. Use state instead
411  // Focal depth = the distance to the point in focus
412  double myFocalDepth;
413  // Focal range = depth of field = distance to focal point +/- focal range is in focus
414  double myFocalRange;
416 
418 
419  // for back compatibility
421 
422  // replaces myPagedLodMagnificationHighLodAngle in version 42
424 
428 
432 
456  bool myWheelRotationEnabled; // As of v. 44, moved to DtEntitySettingsRecord
457  bool myArtPartSmoothingEnabled; // As of v. 44, moved to DtEntitySettingsRecord
458  float myArtPartSmoothingPeriod; // As of v. 44, moved to DtEntitySettingsRecord
459 
460  //Added in v. 45
462  float myHbaoBias;
467  //Done v.45
468 
470  };
471 }
472 
473 
bool myProfilerOverlayEnabled
Definition: DtRenderSettingsRecord.h:404
bool myPropShadowMode
Definition: DtRenderSettingsRecord.h:397
bool myTerrainScalingEnabled
Definition: DtRenderSettingsRecord.h:407
int myHbaoDepthClampMode
Definition: DtRenderSettingsRecord.h:466
float myIndirectLodTransitionPercentage
Definition: DtRenderSettingsRecord.h:417
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myUseMaterialDiffuse
Definition: DtRenderSettingsRecord.h:431
bool myCrepuscularRaysEnabled
Definition: DtRenderSettingsRecord.h:440
double myDiffuseScaleFactor
Definition: DtRenderSettingsRecord.h:430
double myFocalRange
Definition: DtRenderSettingsRecord.h:414
int myShadowQuality
Definition: DtRenderSettingsRecord.h:395
bool myAtcEnableDither
Definition: DtRenderSettingsRecord.h:455
float myTerrainMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:423
bool myWaveSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:442
bool myImguiOverlayEnabled
Definition: DtRenderSettingsRecord.h:405
bool myRainSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:444
double myAmbientScaleFactor
Definition: DtRenderSettingsRecord.h:426
double myAmbientFactor
Definition: DtRenderSettingsRecord.h:425
bool myClearTrackHistoryOnTerrainScaleChanged
Definition: DtRenderSettingsRecord.h:409
bool myUseAutofocus
Definition: DtRenderSettingsRecord.h:410
double myOceanPlanarReflectionsFarClip
Definition: DtRenderSettingsRecord.h:437
bool myOceanPlanarReflectionsSpecifyFarClip
Definition: DtRenderSettingsRecord.h:436
bool myUseMaterialAmbient
Definition: DtRenderSettingsRecord.h:427
Contains DLL export macros.
float myHbaoSmallScalar
Definition: DtRenderSettingsRecord.h:464
bool myTidalStreamWakesEnabled
Definition: DtRenderSettingsRecord.h:448
bool myAtcGlobalModelEnable
Definition: DtRenderSettingsRecord.h:453
float myArtPartSmoothingPeriod
Definition: DtRenderSettingsRecord.h:458
bool myUsePixelShaderForOsgEarthModels
Definition: DtRenderSettingsRecord.h:400
bool myRotorWashDecalEnabled
Definition: DtRenderSettingsRecord.h:443
bool myOceanSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:446
unsigned int myMaximumDynamicLights
Definition: DtRenderSettingsRecord.h:399
bool myApplyShadowToAmbientLighting
Definition: DtRenderSettingsRecord.h:469
bool myColorizePerDrawableEnabled
Definition: DtRenderSettingsRecord.h:441
double myRegenerateHeightMapPercThreshold
Definition: DtRenderSettingsRecord.h:450
bool myLensFlareEnabled
Definition: DtRenderSettingsRecord.h:439
bool myAtcGlobalTerrainEnable
Definition: DtRenderSettingsRecord.h:454
double myRegenerateCubeMapThreshold
Definition: DtRenderSettingsRecord.h:449
bool myOmitCloudInCubeMap
Definition: DtRenderSettingsRecord.h:451
double myStaticOceanLodRange
Definition: DtRenderSettingsRecord.h:438
float myPlanViewGeocentricOccludedTransparency
Definition: DtRenderSettingsRecord.h:406
int myOceanHeightMapTextureSize
Definition: DtRenderSettingsRecord.h:452
bool myPerPixelLightingEnabled
Definition: DtRenderSettingsRecord.h:433
double myFocalDepth
Definition: DtRenderSettingsRecord.h:412
float myHbaoExponent
Definition: DtRenderSettingsRecord.h:463
double myWaterOnScreenSize
Definition: DtRenderSettingsRecord.h:415
bool myWaveSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:445
float myHbaoRadius
Definition: DtRenderSettingsRecord.h:461
A DtRenderSettingsRecord contains the information to regarding the rendering settings the application...
Definition: DtRenderSettingsRecord.h:18
bool myTerrainShadowMode
Definition: DtRenderSettingsRecord.h:398
bool myEntityShadowMode
Definition: DtRenderSettingsRecord.h:396
bool myOceanPlanarReflectionsEnabled
Definition: DtRenderSettingsRecord.h:434
double myTerrainScaleFactor
Definition: DtRenderSettingsRecord.h:408
bool myWireframeMode
Definition: DtRenderSettingsRecord.h:401
const char int mode
Definition: ioapi.h:38
bool myPerformanceOverlayEnabled
Definition: DtRenderSettingsRecord.h:402
float myHbaoBias
Definition: DtRenderSettingsRecord.h:462
unsigned int myPerformanceOverlayState
Definition: DtRenderSettingsRecord.h:403
float myPagedLodMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:420
bool myArtPartSmoothingEnabled
Definition: DtRenderSettingsRecord.h:457
bool myWheelRotationEnabled
Definition: DtRenderSettingsRecord.h:456
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtRenderSettingsRecord.h:188
float myHbaoLargeScalar
Definition: DtRenderSettingsRecord.h:465
double myOceanHeightMapResolution
Definition: DtRenderSettingsRecord.h:447
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
float myOceanPlanarReflectionsLODScale
Definition: DtRenderSettingsRecord.h:435
double myDiffuseFactor
Definition: DtRenderSettingsRecord.h:429

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)