VR-Forces 5.0.3 Developer's Guide
 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) 2021 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 setShadowsOnOceanEnabled(bool enabled);
58 
60  virtual void setEntitiesCastsShadows(bool enabled);
61 
63  virtual void setPropsCastsShadows(bool enabled);
64 
66  virtual void setTerrainCastsShadows(bool enabled);
67 
69  virtual void setMoonCastsShadows(bool enabled);
70 
72  virtual void setCloudsCastsShadows(bool enabled);
73 
75  virtual void setVisualizeShadows(bool enabled);
76 
78  virtual void setNumberOfSplits(unsigned int numSplits);
79 
81  virtual void setUseFrontFaceCulling(bool enabled);
82 
84  virtual void setUseCachedFarCascade(bool enabled);
85 
87  virtual void setFarCascadeUpdateFrequency(double frequency);
88 
90  virtual void setAdjustFarAndFlagsBasedOnHAT(bool enabled);
91 
93  virtual void setUsePolygonOffset(bool enabled);
94 
96  virtual void setPolygonOffset(float factor, float units);
97 
99  virtual void setPolygonOffsetCascade(unsigned int splitIndex);
100 
102  virtual void setGlobalLightShadowMapSize(unsigned int size);
103 
105  virtual void setUseMaximumViewDistance(bool enabled);
106 
108  virtual void setMaximumViewDistance(double viewDistance);
109 
111  virtual void setSplitNearDistanceMinimumBias(double bias);
112 
114  virtual void setSplitNearDistanceMaximumBias(double bias);
115 
117  virtual void setShadowAmbientFactor(float shadowAmbientFactor);
118 
120  virtual void setMixedSplitInterpolationValue(double interp);
121 
123  virtual void setShadowStabilizationScheme(const DtUnicode& selection);
124 
126  virtual void setSplitSelectionScheme(const DtUnicode& selection);
127 
129  virtual void setDataStorageScheme(const DtUnicode& selection);
130 
132  virtual void setPreFilteringScheme(const DtUnicode& selection);
133 
135  virtual void setFilteringScheme(const DtUnicode& selection);
136 
138  virtual void setPoissonDiskSamplingScheme(const DtUnicode& selection);
139 
140  virtual void setUseViewportMulticast(bool enabled);
141 
143  virtual void setNumPersistentPassesPerCascade(unsigned int numPasses);
144 
146  virtual void setNumAdditionalPassesPerCascade(unsigned int numPasses);
147 
149  virtual void setPcfFilterWidth(unsigned int pcfFilterWidth);
150 
152  virtual void setBlendCascadesBoundaries(bool enabled);
153 
155  virtual void setUseSDSM(bool enabled);
156 
158  virtual void setSDSMReadBackLatency(unsigned int sdsmReadBackLatenc);
159 
161  virtual void updateWidgetEnabledState();
162 
163  virtual void updateShadowsOnOceanGui(void);
164 
165 protected slots:
166 
170 
172  void on_renderShadowsCheckChanged(int state);
173 
175  void on_renderShadowsOnOceanCheckChanged(int state);
176 
178  void on_entitiesCastsShadowsCheckChanged(int state);
179 
181  void on_propsCastsShadowsCheckChanged(int state);
182 
184  void on_terrainCastsShadowsCheckChanged(int state);
185 
187  void on_moonCastsShadowsCheckChanged(int state);
188 
190  void on_cloudsCastsShadowsCheckChanged(int state);
191 
193  void on_visualizeShadowCheckChanged(int state);
194 
196  void on_numberOfSplitsChanged(int val);
197 
199  void on_useFrontFaceCullingCheckChanged(int state);
200 
202  void on_useCachedFarCascadeCheckChanged(int state);
203 
205  void on_farCascadeUpdateFreqChanged(double freq);
206 
208  void on_adjustFarAndFlagsBasedOnHATCheckChanged(int state);
209 
211  void on_useViewportMulticastCheckChanged(int state);
212 
214  void on_usePolygonOffsetCheckChanged(int state);
215 
217  void on_polygonOffsetCascadeChanged(int selectedIndex);
218 
220  void on_polygonOffsetFactorChanged(double val);
221 
223  void on_polygonOffsetUnitsChanged(double val);
224 
226  void on_globalShadowMapSizeChanged(int val);
227 
229  void on_useMaximumViewDistanceCheckChanged(int state);
230 
232  void on_maximumViewDistanceChanged(double val);
233 
235  void on_splitNearDistanceMinimumBiasChanged(double val);
236 
238  void on_splitNearDistanceMaximumBiasChanged(double val);
239 
241  void on_shadowAmbientFactorChanged(double val);
242 
244  void on_splitSchemeInterpolationChanged(double val);
245 
247  void on_shadowStabilizationSchemeChanged(int selectedIndex);
248 
250  void on_splitSelectionSchemeChanged(int selectedIndex);
251 
253  void on_dataStorageSchemeChanged(int selectedIndex);
254 
256  void on_preFilteringSchemeChanged(int selectedIndex);
257 
259  void on_filteringSchemeChanged(int selectedIndex);
260 
262  void on_poissonDiskSamplingSchemeChanged(int selectedIndex);
263 
265  void on_numPersistentPassesPerCascadeChanged(int val);
266 
268  void on_numAdditionalPassesPerCascadeChanged(int val);
269 
271  void on_pcfFilterWidthChanged(int val);
272 
274  void on_blendCascadesBoundariesCheckChanged(int state);
275 
277  void on_useSDSMChanged(int state);
278 
280  void on_sdsmReadBackLatencyChanged(int state);
281 
283 
284 
285  protected:
286 
289  void setupGui();
290 
293  void connectToSignals();
294 
296  void setComboBoxSelection(QComboBox* qComboBox, const DtUnicode& selection);
297 
299  void reInitializePolygonOffsetCascades(int numSplits);
300 
301  protected:
302 
304 
305  };
306 }
DtDe & myDe
Definition: DtShadowSettingsWidget.h:303
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
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. It provides the Qt widgets us...
Definition: DtShadowSettingsWidget.h:38
Contains the DtShadowSettingsInterface class declaration.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)