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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)