VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtRenderSettingsRecord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 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  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 instancedRenderingEnabled() const;
109  void setInstancedRenderingEnabled(bool setting);
111 
113  float pagedLodMagnificationHighLodAngle() const;
114  void setPagedLodMagnificationHighLodAngle(float angle);
116 
117  protected:
118 
120  friend class boost::serialization::access;
121 
125  template<class Archive>
126  void serialize(Archive & ar, const unsigned int version)
127  {
128  ar & BOOST_SERIALIZATION_NVP(myWireframeMode);
129  ar & BOOST_SERIALIZATION_NVP(myShadowMode);
130  ar & BOOST_SERIALIZATION_NVP(myShadowQuality);
131  ar & BOOST_SERIALIZATION_NVP(myEntityShadowMode);
132  ar & BOOST_SERIALIZATION_NVP(myPropShadowMode);
133  ar & BOOST_SERIALIZATION_NVP(myTerrainShadowMode);
134 
135  if(version >= 1)
136  {
137  ar & BOOST_SERIALIZATION_NVP(myPerformanceOverlayEnabled);
138  }
139 
140  if (version == 2)
141  {
142  // DDS Flip is no longer part of render settings.
143  bool flip;
144  ar & BOOST_SERIALIZATION_NVP(flip);
145  }
146 
147  if (version >= 4)
148  {
149  ar & BOOST_SERIALIZATION_NVP(myPlanViewGeocentricOccludedTransparency);
150  }
151  if (version >= 5)
152  {
153  ar & BOOST_SERIALIZATION_NVP(myTerrainScalingEnabled);
154  ar & BOOST_SERIALIZATION_NVP(myTerrainScaleFactor);
155  ar & BOOST_SERIALIZATION_NVP(myClearTrackHistoryOnTerrainScaleChanged);
156  }
157  if (version >= 7 && version <= 29)
158  {
159  ar & BOOST_SERIALIZATION_NVP(myPerPixelLightingEnabled);
160  }
161  if (version >= 8 && version <= 27)
162  {
163  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsEnabled);
164  }
165  if (version >= 9 && version <= 27)
166  {
167  ar & BOOST_SERIALIZATION_NVP(myStaticOceanLodRange);
168  }
169  if (version <= 32)
170  {
171  ar & BOOST_SERIALIZATION_NVP(myLensFlareEnabled);
172  }
173  if (version >= 10)
174  {
175  ar & BOOST_SERIALIZATION_NVP(myCrepuscularRaysEnabled);
176  }
177  if (version >= 11 && version < 18)
178  {
179  ar & BOOST_SERIALIZATION_NVP(myRainSplashEffectEnabled);
180  ar & BOOST_SERIALIZATION_NVP(myWaveSplashEffectEnabled);
181  }
182  if (version >= 12 && version <= 27)
183  {
184  if (version < 18)
185  {
186  ar & BOOST_SERIALIZATION_NVP(myOceanSprayEffectEnabled);
187  }
188  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapResolution);
189  }
190  if (version >= 13)
191  {
192  ar & BOOST_SERIALIZATION_NVP(myUsePixelShaderForOsgEarthModels);
193  }
194  if (version >= 14)
195  {
196  ar & BOOST_SERIALIZATION_NVP(myMaximumDynamicLights);
197  }
198  if (version >= 15 && version <= 27)
199  {
200  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsLODScale);
201  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsSpecifyFarClip);
202  ar & BOOST_SERIALIZATION_NVP(myOceanPlanarReflectionsFarClip);
203  }
204  if (version >= 16 && version <= 27)
205  {
206  ar & BOOST_SERIALIZATION_NVP(myWaveSprayEffectEnabled);
207  ar & BOOST_SERIALIZATION_NVP(myRotorWashDecalEnabled);
208  }
209  if (version >= 17)
210  {
211  ar & BOOST_SERIALIZATION_NVP(myInstancedRenderingEnabled);
212  }
213  // version 18 only removed items...
214  if (version >= 19 && version <= 28)
215  {
216  ar & BOOST_SERIALIZATION_NVP(myAmbientFactor);
217  }
218  if (version >= 20 && version <= 28)
219  {
220  ar & BOOST_SERIALIZATION_NVP(myUseMaterialAmbient);
221  }
222  if (version >= 21)
223  {
224  ar & BOOST_SERIALIZATION_NVP(myUseAutofocus);
225  ar & BOOST_SERIALIZATION_NVP(myFocalRange);
226  ar & BOOST_SERIALIZATION_NVP(myFocalDepth);
227  }
228  if (version >= 22 && version <= 28)
229  {
230  ar & BOOST_SERIALIZATION_NVP(myDiffuseScaleFactor);
231  ar & BOOST_SERIALIZATION_NVP(myUseMaterialDiffuse);
232  }
233  if(version >= 23)
234  {
235  ar & BOOST_SERIALIZATION_NVP(myProfilerOverlayEnabled);
236  }
237  if(version >= 24 && version <= 27)
238  {
239  ar & BOOST_SERIALIZATION_NVP(myTidalStreamWakesEnabled);
240  }
241  if(version >= 25 && version <= 27)
242  {
243  ar & BOOST_SERIALIZATION_NVP(myRegenerateCubeMapThreshold);
244  ar & BOOST_SERIALIZATION_NVP(myRegenerateHeightMapPercThreshold);
245  ar & BOOST_SERIALIZATION_NVP(myOmitCloudInCubeMap);
246  }
247  if(version >= 26 && version <= 27)
248  {
249  ar & BOOST_SERIALIZATION_NVP(myOceanHeightMapTextureSize);
250  }
251  if (version >= 27 && version <= 28)
252  {
253  ar & BOOST_SERIALIZATION_NVP(myDiffuseFactor);
254  ar & BOOST_SERIALIZATION_NVP(myAmbientScaleFactor);
255  }
256  if (version >= 31)
257  {
258  ar & BOOST_SERIALIZATION_NVP(myPagedLodMagnificationHighLodAngle);
259  ar & BOOST_SERIALIZATION_NVP(myWaterOnScreenSize);
260  }
261  }
262 
263  protected:
279  // Focal depth = the distance to the point in focus
280  double myFocalDepth;
281  // Focal range = depth of field = distance to focal point +/- focal range is in focus
282  double myFocalRange;
284 
286 
290 
294 
315  };
316 }
317 
318 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)