VR-Forces 4.8 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) 2020 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  bool performanceOverlayEnabled() const;
89  void setPerformanceOverlayEnabled(bool setting);
91 
93  bool profilerOverlayEnabled() const;
94  void setProfilerOverlayEnabled(bool setting);
96 
98  bool imguiOverlayEnabled() const;
99  void setImguiOverlayEnabled(bool setting);
101 
103  float planViewGeocentricOccludedTransparency() const;
104  void setPlanViewGeocentricOccludedTransparency(float f);
106 
108  bool lensFlareEnabled() const;
109  void setLensFlareEnabled(bool setting);
111 
113  bool crepuscularRaysEnabled() const;
114  void setCrepuscularRaysEnabled(bool setting);
116 
118  bool occlusionCullingEnabled() const;
119  void setOcclusionCullingEnabled(bool setting);
121 
123  bool instancedRenderingEnabled() const;
124  void setInstancedRenderingEnabled(bool setting);
126 
128  float terrainMagnificationHighLodAngle() const;
129  void setTerrainMagnificationHighLodAngle(float radians);
131 
133  bool atcGlobalModelEnable() const;
134  void setAtcGlobalModelEnable(bool setting);
137  bool atcGlobalTerrainEnable() const;
138  void setAtcGlobalTerrainEnable(bool setting);
141  bool atcEnableDither() const;
142  void setAtcEnableDither(bool setting);
145  bool wheelRotationEnable() const;
146  void setWheelRotationEnable(bool setting);
148 
151  bool artPartSmoothingEnabled() const;
152  void setArtPartSmoothingEnabled(bool setting);
153 
154  float artPartSmoothingPeriod() const;
155  void setArtPartSmoothingPeriod(float period);
157 
158  protected:
159 
161  friend class boost::serialization::access;
162 
166  template<class Archive>
167  void serialize(Archive & ar, const unsigned int version)
168  {
169  ar & BOOST_SERIALIZATION_NVP(myWireframeMode);
170 
171  if (version <= 38)
172  {
173  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
174  ar & BOOST_SERIALIZATION_NVP(myShadowQuality);
175  ar & BOOST_SERIALIZATION_NVP(myEntityShadowMode);
176  ar & BOOST_SERIALIZATION_NVP(myPropShadowMode);
177  ar & BOOST_SERIALIZATION_NVP(myTerrainShadowMode);
178  }
179 
180  if (version >= 1)
181  {
182  ar & BOOST_SERIALIZATION_NVP(myPerformanceOverlayEnabled);
183  }
184 
185  if (version == 2)
186  {
187  // DDS Flip is no longer part of render settings.
188  bool flip;
189  ar & BOOST_SERIALIZATION_NVP(flip);
190  }
191 
192  if (version >= 4)
193  {
194  ar & BOOST_SERIALIZATION_NVP(myPlanViewGeocentricOccludedTransparency);
195  }
196  if (version >= 5)
197  {
198  ar & BOOST_SERIALIZATION_NVP(myTerrainScalingEnabled);
199  ar & BOOST_SERIALIZATION_NVP(myTerrainScaleFactor);
200  ar & BOOST_SERIALIZATION_NVP(myClearTrackHistoryOnTerrainScaleChanged);
201  }
202  if (version >= 7 && version <= 29)
203  {
204  ar & BOOST_SERIALIZATION_NVP(myPerPixelLightingEnabled);
205  }
206  if (version >= 8 && version <= 27)
207  {
208  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsEnabled);
209  }
210  if (version >= 9 && version <= 27)
211  {
212  ar & BOOST_SERIALIZATION_NVP(myStaticOceanLodRange);
213  }
214  if (version <= 32)
215  {
216  ar & BOOST_SERIALIZATION_NVP(myLensFlareEnabled);
217  }
218  if (version >= 10)
219  {
220  ar & BOOST_SERIALIZATION_NVP(myCrepuscularRaysEnabled);
221  }
222  if (version >= 11 && version < 18)
223  {
224  ar & BOOST_SERIALIZATION_NVP(myRainSplashEffectEnabled);
225  ar & BOOST_SERIALIZATION_NVP(myWaveSplashEffectEnabled);
226  }
227  if (version >= 12 && version <= 27)
228  {
229  if (version < 18)
230  {
231  ar & BOOST_SERIALIZATION_NVP(myOceanSprayEffectEnabled);
232  }
233  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapResolution);
234  }
235  if (version >= 13)
236  {
237  ar & BOOST_SERIALIZATION_NVP(myUsePixelShaderForOsgEarthModels);
238  }
239  if (version >= 14)
240  {
241  ar & BOOST_SERIALIZATION_NVP(myMaximumDynamicLights);
242  }
243  if (version >= 15 && version <= 27)
244  {
245  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsLODScale);
246  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsSpecifyFarClip);
247  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsFarClip);
248  }
249  if (version >= 16 && version <= 27)
250  {
251  ar & BOOST_SERIALIZATION_NVP(myWaveSprayEffectEnabled);
252  ar & BOOST_SERIALIZATION_NVP(myRotorWashDecalEnabled);
253  }
254  if (version >= 17)
255  {
256  ar & BOOST_SERIALIZATION_NVP(myInstancedRenderingEnabled);
257  }
258  // version 18 only removed items...
259  if (version >= 19 && version <= 28)
260  {
261  ar & BOOST_SERIALIZATION_NVP(myAmbientFactor);
262  }
263  if (version >= 20 && version <= 28)
264  {
265  ar & BOOST_SERIALIZATION_NVP(myUseMaterialAmbient);
266  }
267  if (version >= 21)
268  {
269  ar & BOOST_SERIALIZATION_NVP(myUseAutofocus);
270  ar & BOOST_SERIALIZATION_NVP(myFocalRange);
271  ar & BOOST_SERIALIZATION_NVP(myFocalDepth);
272  }
273  if (version >= 22 && version <= 28)
274  {
275  ar & BOOST_SERIALIZATION_NVP(myDiffuseScaleFactor);
276  ar & BOOST_SERIALIZATION_NVP(myUseMaterialDiffuse);
277  }
278  if (version >= 23)
279  {
280  ar & BOOST_SERIALIZATION_NVP(myProfilerOverlayEnabled);
281  }
282  if (version >= 24 && version <= 27)
283  {
284  ar & BOOST_SERIALIZATION_NVP(myTidalStreamWakesEnabled);
285  }
286  if (version >= 25 && version <= 27)
287  {
288  ar & BOOST_SERIALIZATION_NVP(myRegenerateCubeMapThreshold);
289  ar & BOOST_SERIALIZATION_NVP(myRegenerateHeightMapPercThreshold);
290  ar & BOOST_SERIALIZATION_NVP(myOmitCloudInCubeMap);
291  }
292  if (version >= 26 && version <= 27)
293  {
294  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapTextureSize);
295  }
296  if (version >= 27 && version <= 28)
297  {
298  ar & BOOST_SERIALIZATION_NVP(myDiffuseFactor);
299  ar & BOOST_SERIALIZATION_NVP(myAmbientScaleFactor);
300  }
301  if (version >= 31)
302  {
303  if (version < 42)
304  {
305  ar & BOOST_SERIALIZATION_NVP(myPagedLodMagnificationHighLodAngle);
306  }
307  ar & BOOST_SERIALIZATION_NVP(myWaterOnScreenSize);
308  }
309  if (version >= 34)
310  {
311  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalModelEnable);
312  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalTerrainEnable);
313  ar & BOOST_SERIALIZATION_NVP(myAtcEnableDither);
314  }
315  if (version >= 35)
316  {
317  ar & BOOST_SERIALIZATION_NVP(myImguiOverlayEnabled);
318  }
319  if (version >= 36)
320  {
321  ar & BOOST_SERIALIZATION_NVP(myOcclusionCullingEnabled);
322  }
323  if (version >= 37)
324  {
325  ar & BOOST_SERIALIZATION_NVP(myIndirectLodTransitionPercentage);
326  }
327  if (version >= 38)
328  {
329  ar & BOOST_SERIALIZATION_NVP(myWheelRotationEnabled);
330  }
331  if (version >= 40)
332  {
333  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingEnabled);
334  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingPeriod);
335  }
336  if (version >= 41)
337  {
338  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
339  }
340  if (version >= 42)
341  {
342  ar & BOOST_SERIALIZATION_NVP(myTerrainMagnificationHighLodAngle);
343  }
344  }
345 
346  protected:
363  // Focal depth = the distance to the point in focus
364  double myFocalDepth;
365  // Focal range = depth of field = distance to focal point +/- focal range is in focus
366  double myFocalRange;
368 
370 
371  // for back compatibility
373 
374  // replaces myPagedLodMagnificationHighLodAngle in version 42
376 
380 
384 
412  };
413 }
414 
415 
bool myProfilerOverlayEnabled
Definition: DtRenderSettingsRecord.h:356
bool myPropShadowMode
Definition: DtRenderSettingsRecord.h:349
bool myTerrainScalingEnabled
Definition: DtRenderSettingsRecord.h:359
float myIndirectLodTransitionPercentage
Definition: DtRenderSettingsRecord.h:369
bool myUseMaterialDiffuse
Definition: DtRenderSettingsRecord.h:383
bool myCrepuscularRaysEnabled
Definition: DtRenderSettingsRecord.h:392
double myDiffuseScaleFactor
Definition: DtRenderSettingsRecord.h:382
double myFocalRange
Definition: DtRenderSettingsRecord.h:366
int myShadowQuality
Definition: DtRenderSettingsRecord.h:347
bool myAtcEnableDither
Definition: DtRenderSettingsRecord.h:408
float myTerrainMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:375
bool myWaveSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:394
bool myImguiOverlayEnabled
Definition: DtRenderSettingsRecord.h:357
bool myRainSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:396
double myAmbientScaleFactor
Definition: DtRenderSettingsRecord.h:378
double myAmbientFactor
Definition: DtRenderSettingsRecord.h:377
bool myClearTrackHistoryOnTerrainScaleChanged
Definition: DtRenderSettingsRecord.h:361
bool myUseAutofocus
Definition: DtRenderSettingsRecord.h:362
double myOceanPlanarReflectionsFarClip
Definition: DtRenderSettingsRecord.h:389
bool myOceanPlanarReflectionsSpecifyFarClip
Definition: DtRenderSettingsRecord.h:388
bool myUseMaterialAmbient
Definition: DtRenderSettingsRecord.h:379
Contains DLL export macros.
bool myTidalStreamWakesEnabled
Definition: DtRenderSettingsRecord.h:401
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
bool myAtcGlobalModelEnable
Definition: DtRenderSettingsRecord.h:406
float myArtPartSmoothingPeriod
Definition: DtRenderSettingsRecord.h:411
bool myUsePixelShaderForOsgEarthModels
Definition: DtRenderSettingsRecord.h:352
bool myRotorWashDecalEnabled
Definition: DtRenderSettingsRecord.h:395
bool myOceanSprayEffectEnabled
Definition: DtRenderSettingsRecord.h:398
unsigned int myMaximumDynamicLights
Definition: DtRenderSettingsRecord.h:351
double myRegenerateHeightMapPercThreshold
Definition: DtRenderSettingsRecord.h:403
bool myLensFlareEnabled
Definition: DtRenderSettingsRecord.h:391
bool myAtcGlobalTerrainEnable
Definition: DtRenderSettingsRecord.h:407
double myRegenerateCubeMapThreshold
Definition: DtRenderSettingsRecord.h:402
bool myOmitCloudInCubeMap
Definition: DtRenderSettingsRecord.h:404
double myStaticOceanLodRange
Definition: DtRenderSettingsRecord.h:390
float myPlanViewGeocentricOccludedTransparency
Definition: DtRenderSettingsRecord.h:358
int myOceanHeightMapTextureSize
Definition: DtRenderSettingsRecord.h:405
bool myPerPixelLightingEnabled
Definition: DtRenderSettingsRecord.h:385
double myFocalDepth
Definition: DtRenderSettingsRecord.h:364
double myWaterOnScreenSize
Definition: DtRenderSettingsRecord.h:367
bool myWaveSplashEffectEnabled
Definition: DtRenderSettingsRecord.h:397
A DtRenderSettingsRecord contains the information to regarding the rendering settings the application...
Definition: DtRenderSettingsRecord.h:18
bool myTerrainShadowMode
Definition: DtRenderSettingsRecord.h:350
bool myEntityShadowMode
Definition: DtRenderSettingsRecord.h:348
bool myShadowMode
Definition: DtRenderSettingsRecord.h:354
bool myOceanPlanarReflectionsEnabled
Definition: DtRenderSettingsRecord.h:386
double myTerrainScaleFactor
Definition: DtRenderSettingsRecord.h:360
bool myWireframeMode
Definition: DtRenderSettingsRecord.h:353
bool myPerformanceOverlayEnabled
Definition: DtRenderSettingsRecord.h:355
bool myInstancedRenderingEnabled
Definition: DtRenderSettingsRecord.h:400
float myPagedLodMagnificationHighLodAngle
Definition: DtRenderSettingsRecord.h:372
bool myArtPartSmoothingEnabled
Definition: DtRenderSettingsRecord.h:410
bool myWheelRotationEnabled
Definition: DtRenderSettingsRecord.h:409
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:167
double myOceanHeightMapResolution
Definition: DtRenderSettingsRecord.h:399
bool myOcclusionCullingEnabled
Definition: DtRenderSettingsRecord.h:393
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
float myOceanPlanarReflectionsLODScale
Definition: DtRenderSettingsRecord.h:387
double myDiffuseFactor
Definition: DtRenderSettingsRecord.h:381

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)