VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtShadowSettingsWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 #include <QtGui/QWidget>
15 
16 class QCheckBox;
17 class QVBoxLayout;
18 class QLabel;
19 class QComboBox;
20 class QSlider;
21 class QDoubleSlider;
22 class QGroupBox;
23 class QRadioButton;
24 class QSpinBox;
25 class QDoubleSpinBox;
26 
27 namespace makVrv
28 {
29 
30  class DtSliderSpinboxWidget;
31  class DtSliderDoubleSpinboxWidget;
32 
38  {
39  Q_OBJECT
40 
41  public:
42 
45  DtDe& de, QWidget* parent, Qt::WindowFlags flags = Qt::Widget);
46 
48  virtual ~DtShadowSettingsWidget();
49 
51  virtual void setShadowsEnabled(bool enabled);
52 
54  virtual void setEntitiesCastsShadows(bool enabled);
55 
57  virtual void setPropsCastsShadows(bool enabled);
58 
60  virtual void setTerrainCastsShadows(bool enabled);
61 
63  virtual void setCloudsCastsShadows(bool enabled);
64 
66  virtual void setVisualizeShadows(bool enabled);
67 
69  virtual void setNumberOfSplits(unsigned int numSplits);
70 
72  virtual void setUseFrontFaceCulling(bool enabled);
73 
75  virtual void setUsePolygonOffset(bool enabled);
76 
78  virtual void setPolygonOffset(float factor, float units);
79 
81  virtual void setPolygonOffsetCascade(unsigned int splitIndex);
82 
84  virtual void setGlobalLightShadowMapSize(unsigned int size);
85 
87  virtual void setUseMaximumViewDistance(bool enabled);
88 
90  virtual void setMaximumViewDistance(double viewDistance);
91 
93  virtual void setSplitNearDistanceMinimumBias(double bias);
94 
96  virtual void setSplitNearDistanceMaximumBias(double bias);
97 
99  virtual void setShadowAmbientFactor(float shadowAmbientFactor);
100 
102  virtual void setMixedSplitInterpolationValue(double interp);
103 
105  virtual void setShadowStabilizationScheme(const std::string& selection);
106 
108  virtual void setSplitSelectionScheme(const std::string& selection);
109 
111  virtual void setDataStorageScheme(const std::string& selection);
112 
114  virtual void setPreFilteringScheme(const std::string& selection);
115 
117  virtual void setFilteringScheme(const std::string& selection);
118 
120  virtual void setPoissonDiskSamplingScheme(const std::string& selection);
121 
123  virtual void setNumPersistentPassesPerCascade(unsigned int numPasses);
124 
126  virtual void setNumAdditionalPassesPerCascade(unsigned int numPasses);
127 
129  virtual void setPcfFilterWidth(unsigned int pcfFilterWidth);
130 
132  virtual void setBlendCascadesBoundaries(bool enabled);
133 
135  virtual void setUseSDSM(bool enabled);
136 
138  virtual void setSDSMReadBackLatency(unsigned int sdsmReadBackLatenc);
139 
140  protected slots:
141 
145 
147  void on_renderShadowsCheckChanged(int state);
148 
150  void on_entitiesCastsShadowsCheckChanged(int state);
151 
153  void on_propsCastsShadowsCheckChanged(int state);
154 
156  void on_terrainCastsShadowsCheckChanged(int state);
157 
159  void on_cloudsCastsShadowsCheckChanged(int state);
160 
162  void on_visualizeShadowCheckChanged(int state);
163 
165  void on_numberOfSplitsChanged(int val);
166 
168  void on_useFrontFaceCullingCheckChanged(int state);
169 
171  void on_usePolygonOffsetCheckChanged(int state);
172 
174  void on_polygonOffsetCascadeChanged(int selectedIndex);
175 
177  void on_polygonOffsetFactorChanged(double val);
178 
180  void on_polygonOffsetUnitsChanged(double val);
181 
183  void on_globalShadowMapSizeChanged(int val);
184 
186  void on_useMaximumViewDistanceCheckChanged(int state);
187 
189  void on_maximumViewDistanceChanged(double val);
190 
192  void on_splitNearDistanceMinimumBiasChanged(double val);
193 
195  void on_splitNearDistanceMaximumBiasChanged(double val);
196 
198  void on_shadowAmbientFactorChanged(double val);
199 
201  void on_splitSchemeInterpolationChanged(double val);
202 
204  void on_shadowStabilizationSchemeChanged(int selectedIndex);
205 
207  void on_splitSelectionSchemeChanged(int selectedIndex);
208 
210  void on_dataStorageSchemeChanged(int selectedIndex);
211 
213  void on_preFilteringSchemeChanged(int selectedIndex);
214 
216  void on_filteringSchemeChanged(int selectedIndex);
217 
219  void on_poissonDiskSamplingSchemeChanged(int selectedIndex);
220 
222  void on_numPersistentPassesPerCascadeChanged(int val);
223 
225  void on_numAdditionalPassesPerCascadeChanged(int val);
226 
228  void on_pcfFilterWidthChanged(int val);
229 
231  void on_blendCascadesBoundariesCheckChanged(int state);
232 
234  void on_useSDSMChanged(int state);
235 
237  void on_sdsmReadBackLatencyChanged(int state);
238 
240 
241  protected:
242 
245  void setupGui();
246 
249  void connectToSignals();
250 
252  void setComboBoxSelection(QComboBox* qComboBox, const std::string& selection);
253 
255  void reInitializePolygonOffsetCascades(int numSplits);
256 
257  protected:
258 
260 
262 
264 
266 
268 
270 
272 
275 
277 
280 
286 
289 
291  QDoubleSpinBox* myMaxViewDistanceSpinBox;
293 
296 
299 
302 
305 
308 
311 
314 
317 
320 
323 
326 
329 
332 
334 
336 
339  };
340 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)