VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtShadowSettingsWidget.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
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 #include "DtShadowSettingsUi.hpp"
15 
16 #include <QtWidgets/QWidget>
17 
18 class QCheckBox;
19 class QVBoxLayout;
20 class QLabel;
21 class QComboBox;
22 class QSlider;
23 class QDoubleSlider;
24 class QGroupBox;
25 class QRadioButton;
26 class QSpinBox;
27 class QDoubleSpinBox;
28 
29 namespace makVrv
30 {
31 
32  class DtSliderSpinboxWidget;
33  class DtSliderDoubleSpinboxWidget;
34 
39  , public Ui::DtShadowSettingsWidgetUi
41  {
42  Q_OBJECT
43 
44  public:
45 
48  DtDe& de, QWidget* parent, Qt::WindowFlags flags = Qt::Widget);
49 
51  virtual ~DtShadowSettingsWidget();
52 
54  virtual void setShadowsEnabled(bool enabled);
55 
57  virtual void setEntitiesCastsShadows(bool enabled);
58 
60  virtual void setPropsCastsShadows(bool enabled);
61 
63  virtual void setTerrainCastsShadows(bool enabled);
64 
66  virtual void setMoonCastsShadows(bool enabled);
67 
69  virtual void setCloudsCastsShadows(bool enabled);
70 
72  virtual void setVisualizeShadows(bool enabled);
73 
75  virtual void setNumberOfSplits(unsigned int numSplits);
76 
78  virtual void setUseFrontFaceCulling(bool enabled);
79 
81  virtual void setUseCachedFarCascade(bool enabled);
82 
84  virtual void setFarCascadeUpdateFrequency(double frequency);
85 
87  virtual void setAdjustFarAndFlagsBasedOnHAT(bool enabled);
88 
90  virtual void setUsePolygonOffset(bool enabled);
91 
93  virtual void setPolygonOffset(float factor, float units);
94 
96  virtual void setPolygonOffsetCascade(unsigned int splitIndex);
97 
99  virtual void setGlobalLightShadowMapSize(unsigned int size);
100 
102  virtual void setUseMaximumViewDistance(bool enabled);
103 
105  virtual void setMaximumViewDistance(double viewDistance);
106 
108  virtual void setSplitNearDistanceMinimumBias(double bias);
109 
111  virtual void setSplitNearDistanceMaximumBias(double bias);
112 
114  virtual void setShadowAmbientFactor(float shadowAmbientFactor);
115 
117  virtual void setMixedSplitInterpolationValue(double interp);
118 
120  virtual void setShadowStabilizationScheme(const DtUnicode& selection);
121 
123  virtual void setSplitSelectionScheme(const DtUnicode& selection);
124 
126  virtual void setDataStorageScheme(const DtUnicode& selection);
127 
129  virtual void setPreFilteringScheme(const DtUnicode& selection);
130 
132  virtual void setFilteringScheme(const DtUnicode& selection);
133 
135  virtual void setPoissonDiskSamplingScheme(const DtUnicode& selection);
136 
137  virtual void setUseViewportMulticast(bool enabled);
138 
140  virtual void setNumPersistentPassesPerCascade(unsigned int numPasses);
141 
143  virtual void setNumAdditionalPassesPerCascade(unsigned int numPasses);
144 
146  virtual void setPcfFilterWidth(unsigned int pcfFilterWidth);
147 
149  virtual void setBlendCascadesBoundaries(bool enabled);
150 
152  virtual void setUseSDSM(bool enabled);
153 
155  virtual void setSDSMReadBackLatency(unsigned int sdsmReadBackLatenc);
156 
158  virtual void updateWidgetEnabledState();
159 
160 protected slots:
161 
165 
167  void on_renderShadowsCheckChanged(int state);
168 
170  void on_entitiesCastsShadowsCheckChanged(int state);
171 
173  void on_propsCastsShadowsCheckChanged(int state);
174 
176  void on_terrainCastsShadowsCheckChanged(int state);
177 
179  void on_moonCastsShadowsCheckChanged(int state);
180 
182  void on_cloudsCastsShadowsCheckChanged(int state);
183 
185  void on_visualizeShadowCheckChanged(int state);
186 
188  void on_numberOfSplitsChanged(int val);
189 
191  void on_useFrontFaceCullingCheckChanged(int state);
192 
194  void on_useCachedFarCascadeCheckChanged(int state);
195 
197  void on_farCascadeUpdateFreqChanged(double freq);
198 
200  void on_adjustFarAndFlagsBasedOnHATCheckChanged(int state);
201 
203  void on_useViewportMulticastCheckChanged(int state);
204 
206  void on_usePolygonOffsetCheckChanged(int state);
207 
209  void on_polygonOffsetCascadeChanged(int selectedIndex);
210 
212  void on_polygonOffsetFactorChanged(double val);
213 
215  void on_polygonOffsetUnitsChanged(double val);
216 
218  void on_globalShadowMapSizeChanged(int val);
219 
221  void on_useMaximumViewDistanceCheckChanged(int state);
222 
224  void on_maximumViewDistanceChanged(double val);
225 
227  void on_splitNearDistanceMinimumBiasChanged(double val);
228 
230  void on_splitNearDistanceMaximumBiasChanged(double val);
231 
233  void on_shadowAmbientFactorChanged(double val);
234 
236  void on_splitSchemeInterpolationChanged(double val);
237 
239  void on_shadowStabilizationSchemeChanged(int selectedIndex);
240 
242  void on_splitSelectionSchemeChanged(int selectedIndex);
243 
245  void on_dataStorageSchemeChanged(int selectedIndex);
246 
248  void on_preFilteringSchemeChanged(int selectedIndex);
249 
251  void on_filteringSchemeChanged(int selectedIndex);
252 
254  void on_poissonDiskSamplingSchemeChanged(int selectedIndex);
255 
257  void on_numPersistentPassesPerCascadeChanged(int val);
258 
260  void on_numAdditionalPassesPerCascadeChanged(int val);
261 
263  void on_pcfFilterWidthChanged(int val);
264 
266  void on_blendCascadesBoundariesCheckChanged(int state);
267 
269  void on_useSDSMChanged(int state);
270 
272  void on_sdsmReadBackLatencyChanged(int state);
273 
275 
276 
277  protected:
278 
281  void setupGui();
282 
285  void connectToSignals();
286 
288  void setComboBoxSelection(QComboBox* qComboBox, const DtUnicode& selection);
289 
291  void reInitializePolygonOffsetCascades(int numSplits);
292 
293  protected:
294 
296 
297  };
298 }
DtDe & myDe
Definition: DtShadowSettingsWidget.h:295
A unicode string.
Definition: DtUnicode.h:33
This is the interface for the DtShadowSettingsPage.
Definition: DtShadowSettingsInterface.h:19
voidpf void uLong size
Definition: ioapi.h:39
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
DtShadowSettingsWidget implements the DtShadowSettingsInterface for Qt.
Definition: DtShadowSettingsWidget.h:38
Contains the DtShadowSettingsInterface class declaration.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69

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)