VR-Forces 4.7 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) 2017 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  bool shadowMode() const;
79  void setShadowMode(bool setting);
81 
83  bool performanceOverlayEnabled() const;
84  void setPerformanceOverlayEnabled(bool setting);
86 
88  bool profilerOverlayEnabled() const;
89  void setProfilerOverlayEnabled(bool setting);
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 instancedRenderingEnabled() const;
114  void setInstancedRenderingEnabled(bool setting);
116 
118  float pagedLodMagnificationHighLodAngle() const;
119  void setPagedLodMagnificationHighLodAngle(float radians);
121 
123  bool atcGlobalModelEnable() const;
124  void setAtcGlobalModelEnable(bool setting);
127  bool atcGlobalTerrainEnable() const;
128  void setAtcGlobalTerrainEnable(bool setting);
131  bool atcEnableDither() const;
132  void setAtcEnableDither(bool setting);
134 
135  protected:
136 
138  friend class boost::serialization::access;
139 
143  template<class Archive>
144  void serialize(Archive & ar, const unsigned int version)
145  {
146  ar & BOOST_SERIALIZATION_NVP(myWireframeMode);
147  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
148  ar & BOOST_SERIALIZATION_NVP(myShadowQuality);
149  ar & BOOST_SERIALIZATION_NVP(myEntityShadowMode);
150  ar & BOOST_SERIALIZATION_NVP(myPropShadowMode);
151  ar & BOOST_SERIALIZATION_NVP(myTerrainShadowMode);
152 
153  if (version >= 1)
154  {
155  ar & BOOST_SERIALIZATION_NVP(myPerformanceOverlayEnabled);
156  }
157 
158  if (version == 2)
159  {
160  // DDS Flip is no longer part of render settings.
161  bool flip;
162  ar & BOOST_SERIALIZATION_NVP(flip);
163  }
164 
165  if (version >= 4)
166  {
167  ar & BOOST_SERIALIZATION_NVP(myPlanViewGeocentricOccludedTransparency);
168  }
169  if (version >= 5)
170  {
171  ar & BOOST_SERIALIZATION_NVP(myTerrainScalingEnabled);
172  ar & BOOST_SERIALIZATION_NVP(myTerrainScaleFactor);
173  ar & BOOST_SERIALIZATION_NVP(myClearTrackHistoryOnTerrainScaleChanged);
174  }
175  if (version >= 7 && version <= 29)
176  {
177  ar & BOOST_SERIALIZATION_NVP(myPerPixelLightingEnabled);
178  }
179  if (version >= 8 && version <= 27)
180  {
181  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsEnabled);
182  }
183  if (version >= 9 && version <= 27)
184  {
185  ar & BOOST_SERIALIZATION_NVP(myStaticOceanLodRange);
186  }
187  if (version <= 32)
188  {
189  ar & BOOST_SERIALIZATION_NVP(myLensFlareEnabled);
190  }
191  if (version >= 10)
192  {
193  ar & BOOST_SERIALIZATION_NVP(myCrepuscularRaysEnabled);
194  }
195  if (version >= 11 && version < 18)
196  {
197  ar & BOOST_SERIALIZATION_NVP(myRainSplashEffectEnabled);
198  ar & BOOST_SERIALIZATION_NVP(myWaveSplashEffectEnabled);
199  }
200  if (version >= 12 && version <= 27)
201  {
202  if (version < 18)
203  {
204  ar & BOOST_SERIALIZATION_NVP(myOceanSprayEffectEnabled);
205  }
206  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapResolution);
207  }
208  if (version >= 13)
209  {
210  ar & BOOST_SERIALIZATION_NVP(myUsePixelShaderForOsgEarthModels);
211  }
212  if (version >= 14)
213  {
214  ar & BOOST_SERIALIZATION_NVP(myMaximumDynamicLights);
215  }
216  if (version >= 15 && version <= 27)
217  {
218  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsLODScale);
219  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsSpecifyFarClip);
220  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsFarClip);
221  }
222  if (version >= 16 && version <= 27)
223  {
224  ar & BOOST_SERIALIZATION_NVP(myWaveSprayEffectEnabled);
225  ar & BOOST_SERIALIZATION_NVP(myRotorWashDecalEnabled);
226  }
227  if (version >= 17)
228  {
229  ar & BOOST_SERIALIZATION_NVP(myInstancedRenderingEnabled);
230  }
231  // version 18 only removed items...
232  if (version >= 19 && version <= 28)
233  {
234  ar & BOOST_SERIALIZATION_NVP(myAmbientFactor);
235  }
236  if (version >= 20 && version <= 28)
237  {
238  ar & BOOST_SERIALIZATION_NVP(myUseMaterialAmbient);
239  }
240  if (version >= 21)
241  {
242  ar & BOOST_SERIALIZATION_NVP(myUseAutofocus);
243  ar & BOOST_SERIALIZATION_NVP(myFocalRange);
244  ar & BOOST_SERIALIZATION_NVP(myFocalDepth);
245  }
246  if (version >= 22 && version <= 28)
247  {
248  ar & BOOST_SERIALIZATION_NVP(myDiffuseScaleFactor);
249  ar & BOOST_SERIALIZATION_NVP(myUseMaterialDiffuse);
250  }
251  if (version >= 23)
252  {
253  ar & BOOST_SERIALIZATION_NVP(myProfilerOverlayEnabled);
254  }
255  if (version >= 24 && version <= 27)
256  {
257  ar & BOOST_SERIALIZATION_NVP(myTidalStreamWakesEnabled);
258  }
259  if (version >= 25 && version <= 27)
260  {
261  ar & BOOST_SERIALIZATION_NVP(myRegenerateCubeMapThreshold);
262  ar & BOOST_SERIALIZATION_NVP(myRegenerateHeightMapPercThreshold);
263  ar & BOOST_SERIALIZATION_NVP(myOmitCloudInCubeMap);
264  }
265  if (version >= 26 && version <= 27)
266  {
267  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapTextureSize);
268  }
269  if (version >= 27 && version <= 28)
270  {
271  ar & BOOST_SERIALIZATION_NVP(myDiffuseFactor);
272  ar & BOOST_SERIALIZATION_NVP(myAmbientScaleFactor);
273  }
274  if (version >= 31)
275  {
276  ar & BOOST_SERIALIZATION_NVP(myPagedLodMagnificationHighLodAngle);
277  ar & BOOST_SERIALIZATION_NVP(myWaterOnScreenSize);
278  }
279  if (version >= 34)
280  {
281  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalModelEnable);
282  ar & BOOST_SERIALIZATION_NVP(myAtcGlobalTerrainEnable);
283  ar & BOOST_SERIALIZATION_NVP(myAtcEnableDither);
284  }
285  if (version >= 35)
286  {
287  ar & BOOST_SERIALIZATION_NVP(myImguiOverlayEnabled);
288  }
289  }
290 
291  protected:
308  // Focal depth = the distance to the point in focus
309  double myFocalDepth;
310  // Focal range = depth of field = distance to focal point +/- focal range is in focus
311  double myFocalRange;
313 
315 
319 
323 
344 
348 
349  };
350 }
351 
352 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)