VR-Forces 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) 2023 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) override;
55 
57  virtual void setShadowsOnOceanEnabled(bool enabled) override;
58 
60  virtual void setEntitiesCastsShadows(bool enabled) override;
61 
63  virtual void setPropsCastsShadows(bool enabled) override;
64 
66  virtual void setTerrainCastsShadows(bool enabled) override;
67 
69  virtual void setMoonCastsShadows(bool enabled) override;
70 
72  virtual void setVisualizeShadows(bool enabled) override;
73 
75  virtual void setNumberOfSplits(unsigned int numSplits) override;
76 
78  virtual void setUseFrontFaceCulling(bool enabled) override;
79 
81  virtual void setUseCachedFarCascade(bool enabled) override;
82 
84  virtual void setFarCascadeUpdateFrequency(double frequency) override;
85 
87  virtual void setAdjustFarAndFlagsBasedOnHAT(bool enabled) override;
88 
90  virtual void setUsePolygonOffset(bool enabled) override;
91 
93  virtual void setPolygonOffset(float factor, float units) override;
94 
96  virtual void setPolygonOffsetCascade(unsigned int splitIndex) override;
97 
99  virtual void setGlobalLightShadowMapSize(unsigned int size) override;
100 
102  virtual void setUseMaximumViewDistance(bool enabled) override;
103 
105  virtual void setMaximumViewDistance(double viewDistance) override;
106 
108  virtual void setSplitNearDistanceMinimumBias(double bias) override;
109 
111  virtual void setSplitNearDistanceMaximumBias(double bias) override;
112 
114  virtual void setShadowAmbientFactor(float shadowAmbientFactor) override;
115 
117  virtual void setMixedSplitInterpolationValue(double interp) override;
118 
120  virtual void setShadowStabilizationScheme(const DtUnicode& selection) override;
121 
123  virtual void setSplitSelectionScheme(const DtUnicode& selection) override;
124 
126  virtual void setPreFilteringScheme(const DtUnicode& selection) override;
127 
129  virtual void setFilteringScheme(const DtUnicode& selection) override;
130 
132  virtual void setPoissonDiskSamplingScheme(const DtUnicode& selection) override;
133 
134  virtual void setUseViewportMulticast(bool enabled) override;
135 
137  virtual void setNumPersistentPassesPerCascade(unsigned int numPasses) override;
138 
140  virtual void setNumAdditionalPassesPerCascade(unsigned int numPasses) override;
141 
143  virtual void setPcfFilterWidth(unsigned int pcfFilterWidth) override;
144 
146  virtual void setBlendCascadesBoundaries(bool enabled) override;
147 
149  virtual void setApplyShadowToAmbientLighting(bool applyShadowToAmbientLighting) override;
150 
152  virtual void updateWidgetEnabledState();
153 
154  virtual void updateShadowsOnOceanGui(void);
155 
156 protected slots:
157 
161 
163  void on_renderShadowsCheckChanged(int state);
164 
166  void on_renderShadowsOnOceanCheckChanged(int state);
167 
169  void on_entitiesCastsShadowsCheckChanged(int state);
170 
172  void on_propsCastsShadowsCheckChanged(int state);
173 
175  void on_terrainCastsShadowsCheckChanged(int state);
176 
178  void on_moonCastsShadowsCheckChanged(int state);
179 
181  void on_visualizeShadowCheckChanged(int state);
182 
184  void on_numberOfSplitsChanged(int val);
185 
187  void on_useFrontFaceCullingCheckChanged(int state);
188 
190  void on_useCachedFarCascadeCheckChanged(int state);
191 
193  void on_farCascadeUpdateFreqChanged(double freq);
194 
196  void on_adjustFarAndFlagsBasedOnHATCheckChanged(int state);
197 
199  void on_useViewportMulticastCheckChanged(int state);
200 
202  void on_usePolygonOffsetCheckChanged(int state);
203 
205  void on_polygonOffsetCascadeChanged(int selectedIndex);
206 
208  void on_polygonOffsetFactorChanged(double val);
209 
211  void on_polygonOffsetUnitsChanged(double val);
212 
214  void on_globalShadowMapSizeChanged(int val);
215 
217  void on_useMaximumViewDistanceCheckChanged(int state);
218 
220  void on_maximumViewDistanceChanged(double val);
221 
223  void on_splitNearDistanceMinimumBiasChanged(double val);
224 
226  void on_splitNearDistanceMaximumBiasChanged(double val);
227 
229  void on_shadowAmbientFactorChanged(double val);
230 
232  void on_splitSchemeInterpolationChanged(double val);
233 
235  void on_shadowStabilizationSchemeChanged(int selectedIndex);
236 
238  void on_splitSelectionSchemeChanged(int selectedIndex);
239 
241  void on_preFilteringSchemeChanged(int selectedIndex);
242 
244  void on_filteringSchemeChanged(int selectedIndex);
245 
247  void on_poissonDiskSamplingSchemeChanged(int selectedIndex);
248 
250  void on_numPersistentPassesPerCascadeChanged(int val);
251 
253  void on_numAdditionalPassesPerCascadeChanged(int val);
254 
256  void on_pcfFilterWidthChanged(int val);
257 
259  void on_blendCascadesBoundariesCheckChanged(int state);
260 
262  void on_applyShadowToAmbientLightingCheckChanged(int state);
263 
265 
266 
267  protected:
268 
271  void setupGui();
272 
275  void connectToSignals();
276 
278  void setComboBoxSelection(QComboBox* qComboBox, const DtUnicode& selection);
279 
281  void reInitializePolygonOffsetCascades(int numSplits);
282 
283  protected:
284 
286 
287  };
288 }
DtDe & myDe
Definition: DtShadowSettingsWidget.h:285
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:76

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)