14 #include "DtShadowSettingsUi.hpp"
16 #include <QtWidgets/QWidget>
32 class DtSliderSpinboxWidget;
33 class DtSliderDoubleSpinboxWidget;
39 ,
public Ui::DtShadowSettingsWidgetUi
48 DtDe& de, QWidget* parent, Qt::WindowFlags flags = Qt::Widget);
54 virtual void setShadowsEnabled(
bool enabled);
57 virtual void setEntitiesCastsShadows(
bool enabled);
60 virtual void setPropsCastsShadows(
bool enabled);
63 virtual void setTerrainCastsShadows(
bool enabled);
66 virtual void setCloudsCastsShadows(
bool enabled);
69 virtual void setVisualizeShadows(
bool enabled);
72 virtual void setNumberOfSplits(
unsigned int numSplits);
75 virtual void setUseFrontFaceCulling(
bool enabled);
78 virtual void setUseCachedFarCascade(
bool enabled);
81 virtual void setFarCascadeUpdateFrequency(
double frequency);
84 virtual void setAdjustFarAndFlagsBasedOnHAT(
bool enabled);
87 virtual void setUsePolygonOffset(
bool enabled);
90 virtual void setPolygonOffset(
float factor,
float units);
93 virtual void setPolygonOffsetCascade(
unsigned int splitIndex);
96 virtual void setGlobalLightShadowMapSize(
unsigned int size);
99 virtual void setUseMaximumViewDistance(
bool enabled);
102 virtual void setMaximumViewDistance(
double viewDistance);
105 virtual void setSplitNearDistanceMinimumBias(
double bias);
108 virtual void setSplitNearDistanceMaximumBias(
double bias);
111 virtual void setShadowAmbientFactor(
float shadowAmbientFactor);
114 virtual void setMixedSplitInterpolationValue(
double interp);
117 virtual void setShadowStabilizationScheme(
const std::string& selection);
120 virtual void setSplitSelectionScheme(
const std::string& selection);
123 virtual void setDataStorageScheme(
const std::string& selection);
126 virtual void setPreFilteringScheme(
const std::string& selection);
129 virtual void setFilteringScheme(
const std::string& selection);
132 virtual void setPoissonDiskSamplingScheme(
const std::string& selection);
134 virtual void setUseViewportMulticast(
bool enabled);
137 virtual void setNumPersistentPassesPerCascade(
unsigned int numPasses);
140 virtual void setNumAdditionalPassesPerCascade(
unsigned int numPasses);
143 virtual void setPcfFilterWidth(
unsigned int pcfFilterWidth);
146 virtual void setBlendCascadesBoundaries(
bool enabled);
149 virtual void setUseSDSM(
bool enabled);
152 virtual void setSDSMReadBackLatency(
unsigned int sdsmReadBackLatenc);
155 virtual void updateWidgetEnabledState();
164 void on_renderShadowsCheckChanged(
int state);
167 void on_entitiesCastsShadowsCheckChanged(
int state);
170 void on_propsCastsShadowsCheckChanged(
int state);
173 void on_terrainCastsShadowsCheckChanged(
int state);
176 void on_cloudsCastsShadowsCheckChanged(
int state);
179 void on_visualizeShadowCheckChanged(
int state);
182 void on_numberOfSplitsChanged(
int val);
185 void on_useFrontFaceCullingCheckChanged(
int state);
188 void on_useCachedFarCascadeCheckChanged(
int state);
191 void on_farCascadeUpdateFreqChanged(
double freq);
194 void on_adjustFarAndFlagsBasedOnHATCheckChanged(
int state);
197 void on_useViewportMulticastCheckChanged(
int state);
200 void on_usePolygonOffsetCheckChanged(
int state);
203 void on_polygonOffsetCascadeChanged(
int selectedIndex);
206 void on_polygonOffsetFactorChanged(
double val);
209 void on_polygonOffsetUnitsChanged(
double val);
212 void on_globalShadowMapSizeChanged(
int val);
215 void on_useMaximumViewDistanceCheckChanged(
int state);
218 void on_maximumViewDistanceChanged(
double val);
221 void on_splitNearDistanceMinimumBiasChanged(
double val);
224 void on_splitNearDistanceMaximumBiasChanged(
double val);
227 void on_shadowAmbientFactorChanged(
double val);
230 void on_splitSchemeInterpolationChanged(
double val);
233 void on_shadowStabilizationSchemeChanged(
int selectedIndex);
236 void on_splitSelectionSchemeChanged(
int selectedIndex);
239 void on_dataStorageSchemeChanged(
int selectedIndex);
242 void on_preFilteringSchemeChanged(
int selectedIndex);
245 void on_filteringSchemeChanged(
int selectedIndex);
248 void on_poissonDiskSamplingSchemeChanged(
int selectedIndex);
251 void on_numPersistentPassesPerCascadeChanged(
int val);
254 void on_numAdditionalPassesPerCascadeChanged(
int val);
257 void on_pcfFilterWidthChanged(
int val);
260 void on_blendCascadesBoundariesCheckChanged(
int state);
263 void on_useSDSMChanged(
int state);
266 void on_sdsmReadBackLatencyChanged(
int state);
279 void connectToSignals();
282 void setComboBoxSelection(
QComboBox* qComboBox,
const std::string& selection);
285 void reInitializePolygonOffsetCascades(
int numSplits);