VR-Forces 4.10 Class Documentation
 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 
153  protected:
154 
156  friend class boost::serialization::access;
157 
161  template<class Archive>
162  void serialize(Archive & ar, const unsigned int version)
163  {
164  ar & BOOST_SERIALIZATION_NVP(myWireframeMode);
165 
166  if (version <= 38)
167  {
168  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
169  ar & BOOST_SERIALIZATION_NVP(myShadowQuality);
170  ar & BOOST_SERIALIZATION_NVP(myEntityShadowMode);
171  ar & BOOST_SERIALIZATION_NVP(myPropShadowMode);
172  ar & BOOST_SERIALIZATION_NVP(myTerrainShadowMode);
173  }
174 
175  if (version >= 1 && version <= 43)
176  {
177  ar & BOOST_SERIALIZATION_NVP(myPerformanceOverlayEnabled);
178  }
179  else if (version > 43)
180  {
181  ar& BOOST_SERIALIZATION_NVP(myPerformanceOverlayState);
182  }
183 
184  if (version == 2)
185  {
186  // DDS Flip is no longer part of render settings.
187  bool flip;
188  ar & BOOST_SERIALIZATION_NVP(flip);
189  }
190 
191  if (version >= 4)
192  {
193  ar & BOOST_SERIALIZATION_NVP(myPlanViewGeocentricOccludedTransparency);
194  }
195  if (version >= 5)
196  {
197  ar & BOOST_SERIALIZATION_NVP(myTerrainScalingEnabled);
198  ar & BOOST_SERIALIZATION_NVP(myTerrainScaleFactor);
199  ar & BOOST_SERIALIZATION_NVP(myClearTrackHistoryOnTerrainScaleChanged);
200  }
201  if (version >= 7 && version <= 29)
202  {
203  ar & BOOST_SERIALIZATION_NVP(myPerPixelLightingEnabled);
204  }
205  if (version >= 8 && version <= 27)
206  {
207  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsEnabled);
208  }
209  if (version >= 9 && version <= 27)
210  {
211  ar & BOOST_SERIALIZATION_NVP(myStaticOceanLodRange);
212  }
213  if (version <= 32)
214  {
215  ar & BOOST_SERIALIZATION_NVP(myLensFlareEnabled);
216  }
217  if (version >= 10)
218  {
219  ar & BOOST_SERIALIZATION_NVP(myCrepuscularRaysEnabled);
220  }
221  if (version >= 11 && version < 18)
222  {
223  ar & BOOST_SERIALIZATION_NVP(myRainSplashEffectEnabled);
224  ar & BOOST_SERIALIZATION_NVP(myWaveSplashEffectEnabled);
225  }
226  if (version >= 12 && version <= 27)
227  {
228  if (version < 18)
229  {
230  ar & BOOST_SERIALIZATION_NVP(myOceanSprayEffectEnabled);
231  }
232  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapResolution);
233  }
234  if (version >= 13)
235  {
236  ar & BOOST_SERIALIZATION_NVP(myUsePixelShaderForOsgEarthModels);
237  }
238  if (version >= 14)
239  {
240  ar & BOOST_SERIALIZATION_NVP(myMaximumDynamicLights);
241  }
242  if (version >= 15 && version <= 27)
243  {
244  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsLODScale);
245  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsSpecifyFarClip);
246  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsFarClip);
247  }
248  if (version >= 16 && version <= 27)
249  {
250  ar & BOOST_SERIALIZATION_NVP(myWaveSprayEffectEnabled);
251  ar & BOOST_SERIALIZATION_NVP(myRotorWashDecalEnabled);
252  }
253  if (version >= 17)
254  {
255  ar & BOOST_SERIALIZATION_NVP(myInstancedRenderingEnabled); // NOT USED
256  }
257  // version 18 only removed items...
258  if (version >= 19 && version <= 28)
259  {
260  ar & BOOST_SERIALIZATION_NVP(myAmbientFactor);
261  }
262  if (version >= 20 && version <= 28)
263  {
264  ar & BOOST_SERIALIZATION_NVP(myUseMaterialAmbient);
265  }
266  if (version >= 21)
267  {
268  ar & BOOST_SERIALIZATION_NVP(myUseAutofocus);
269  ar & BOOST_SERIALIZATION_NVP(myFocalRange);
270  ar & BOOST_SERIALIZATION_NVP(myFocalDepth);
271  }
272  if (version >= 22 && version <= 28)
273  {
274  ar & BOOST_SERIALIZATION_NVP(myDiffuseScaleFactor);
275  ar & BOOST_SERIALIZATION_NVP(myUseMaterialDiffuse);
276  }
277  if (version >= 23 && version <= 42) //Profiler overlay enabled is no longer saved out
278  {
279  ar & BOOST_SERIALIZATION_NVP(myProfilerOverlayEnabled);
280  }
281  if (version >= 24 && version <= 27)
282  {
283  ar & BOOST_SERIALIZATION_NVP(myTidalStreamWakesEnabled);
284  }
285  if (version >= 25 && version <= 27)
286  {
287  ar & BOOST_SERIALIZATION_NVP(myRegenerateCubeMapThreshold);
288  ar & BOOST_SERIALIZATION_NVP(myRegenerateHeightMapPercThreshold);
289  ar & BOOST_SERIALIZATION_NVP(myOmitCloudInCubeMap);
290  }
291  if (version >= 26 && version <= 27)
292  {
293  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapTextureSize);
294  }
295  if (version >= 27 && version <= 28)
296  {
297  ar & BOOST_SERIALIZATION_NVP(myDiffuseFactor);
298  ar & BOOST_SERIALIZATION_NVP(myAmbientScaleFactor);
299  }
300  if (version >= 31)
301  {
302  if (version < 42)
303  {
304  ar & BOOST_SERIALIZATION_NVP(myPagedLodMagnificationHighLodAngle);
305  }
306  ar & BOOST_SERIALIZATION_NVP(myWaterOnScreenSize);
307  }
308  if (version >= 34)
309  {
310  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalModelEnable);
311  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalTerrainEnable);
312  ar & BOOST_SERIALIZATION_NVP(myAtcEnableDither);
313  }
314  if (version >= 35)
315  {
316  ar & BOOST_SERIALIZATION_NVP(myImguiOverlayEnabled);
317  }
318  if (version >= 36)
319  {
320  ar & BOOST_SERIALIZATION_NVP(myOcclusionCullingEnabled);
321  }
322  if (version >= 37)
323  {
324  ar & BOOST_SERIALIZATION_NVP(myIndirectLodTransitionPercentage);
325  }
326  if (version >= 38 && version <= 43)
327  {
328  ar & BOOST_SERIALIZATION_NVP(myWheelRotationEnabled);
329  }
330  if (version >= 40 && version <= 43)
331  {
332  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingEnabled);
333  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingPeriod);
334  }
335  if (version >= 41)
336  {
337  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
338  }
339  if (version >= 42)
340  {
341  ar & BOOST_SERIALIZATION_NVP(myTerrainMagnificationHighLodAngle);
342  }
343  if (version >= 44)
344  {
345  ar & BOOST_SERIALIZATION_NVP(myColorizePerDrawableEnabled);
346  }
347  }
348 
349  protected:
358  bool myPerformanceOverlayEnabled; // no longer used. Use state instead
367  // Focal depth = the distance to the point in focus
368  double myFocalDepth;
369  // Focal range = depth of field = distance to focal point +/- focal range is in focus
370  double myFocalRange;
372 
374 
375  // for back compatibility
377 
378  // replaces myPagedLodMagnificationHighLodAngle in version 42
380 
384 
388 
414  bool myWheelRotationEnabled; // As of v. 44, moved to DtEntitySettingsRecord
415  bool myArtPartSmoothingEnabled; // As of v. 44, moved to DtEntitySettingsRecord
416  float myArtPartSmoothingPeriod; // As of v. 44, moved to DtEntitySettingsRecord
417  };
418 }
419 
420 
bool myProfilerOverlayEnabled
Definition: DtRenderSettingsRecord.h:360
bool myPropShadowMode
Definition: DtRenderSettingsRecord.h:352
bool myTerrainScalingEnabled
Definition: DtRenderSettingsRecord.h:363
float myIndirectLodTransitionPercentage
Definition: DtRenderSettingsRecord.h:373
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myUseMaterialDiffuse
Definition: DtRenderSettingsRecord.h:387
bool myCrepuscularRaysEnabled
Definition: DtRenderSettingsRecord.h:396
double myDiffuseScaleFactor
Definition: DtRenderSettingsRecord.h:386
double myFocalRange
Definition: DtRenderSettingsRecord.h:370
int myShadowQuality
Definition: DtRenderSettingsRecord.h:350
bool myAtcEnableDither
Definition: DtRenderSettingsRecord.h:413
float myTerrainMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:379
bool myWaveSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:399
bool myImguiOverlayEnabled
Definition: DtRenderSettingsRecord.h:361
bool myRainSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:401
double myAmbientScaleFactor
Definition: DtRenderSettingsRecord.h:382
double myAmbientFactor
Definition: DtRenderSettingsRecord.h:381
bool myClearTrackHistoryOnTerrainScaleChanged
Definition: DtRenderSettingsRecord.h:365
bool myUseAutofocus
Definition: DtRenderSettingsRecord.h:366
double myOceanPlanarReflectionsFarClip
Definition: DtRenderSettingsRecord.h:393
bool myOceanPlanarReflectionsSpecifyFarClip
Definition: DtRenderSettingsRecord.h:392
bool myUseMaterialAmbient
Definition: DtRenderSettingsRecord.h:383
Contains DLL export macros.
bool myTidalStreamWakesEnabled
Definition: DtRenderSettingsRecord.h:406
bool myAtcGlobalModelEnable
Definition: DtRenderSettingsRecord.h:411
float myArtPartSmoothingPeriod
Definition: DtRenderSettingsRecord.h:416
bool myUsePixelShaderForOsgEarthModels
Definition: DtRenderSettingsRecord.h:355
bool myRotorWashDecalEnabled
Definition: DtRenderSettingsRecord.h:400
bool myOceanSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:403
unsigned int myMaximumDynamicLights
Definition: DtRenderSettingsRecord.h:354
bool myColorizePerDrawableEnabled
Definition: DtRenderSettingsRecord.h:397
double myRegenerateHeightMapPercThreshold
Definition: DtRenderSettingsRecord.h:408
bool myLensFlareEnabled
Definition: DtRenderSettingsRecord.h:395
bool myAtcGlobalTerrainEnable
Definition: DtRenderSettingsRecord.h:412
double myRegenerateCubeMapThreshold
Definition: DtRenderSettingsRecord.h:407
bool myOmitCloudInCubeMap
Definition: DtRenderSettingsRecord.h:409
double myStaticOceanLodRange
Definition: DtRenderSettingsRecord.h:394
float myPlanViewGeocentricOccludedTransparency
Definition: DtRenderSettingsRecord.h:362
int myOceanHeightMapTextureSize
Definition: DtRenderSettingsRecord.h:410
bool myPerPixelLightingEnabled
Definition: DtRenderSettingsRecord.h:389
double myFocalDepth
Definition: DtRenderSettingsRecord.h:368
double myWaterOnScreenSize
Definition: DtRenderSettingsRecord.h:371
bool myWaveSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:402
A DtRenderSettingsRecord contains the information to regarding the rendering settings the application...
Definition: DtRenderSettingsRecord.h:18
bool myTerrainShadowMode
Definition: DtRenderSettingsRecord.h:353
bool myEntityShadowMode
Definition: DtRenderSettingsRecord.h:351
bool myShadowMode
Definition: DtRenderSettingsRecord.h:357
bool myOceanPlanarReflectionsEnabled
Definition: DtRenderSettingsRecord.h:390
double myTerrainScaleFactor
Definition: DtRenderSettingsRecord.h:364
bool myWireframeMode
Definition: DtRenderSettingsRecord.h:356
bool myPerformanceOverlayEnabled
Definition: DtRenderSettingsRecord.h:358
bool myInstancedRenderingEnabled
Definition: DtRenderSettingsRecord.h:405
unsigned int myPerformanceOverlayState
Definition: DtRenderSettingsRecord.h:359
float myPagedLodMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:376
bool myArtPartSmoothingEnabled
Definition: DtRenderSettingsRecord.h:415
bool myWheelRotationEnabled
Definition: DtRenderSettingsRecord.h:414
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:162
double myOceanHeightMapResolution
Definition: DtRenderSettingsRecord.h:404
bool myOcclusionCullingEnabled
Definition: DtRenderSettingsRecord.h:398
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
float myOceanPlanarReflectionsLODScale
Definition: DtRenderSettingsRecord.h:391
double myDiffuseFactor
Definition: DtRenderSettingsRecord.h:385

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)