diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-09-01 14:45:05 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-09-02 09:11:56 +0300 |
commit | 3c2d0623c74cc51d0c3b73e0b56b5f5052676ee4 (patch) | |
tree | a808859fae11c73df396768f5783c10b66d16592 /examples | |
parent | a20806dac74415f3d8cb6679c9eae86ce074ddae (diff) |
Add option to use low definition volume shader.
Low definition volume shader samples the texture at even
intervals, so it will sometimes skip texels, causing flickering.
Change-Id: Iee6cb0e8893498b89ce1a40f34701a53d100283e
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/datavisualization/volumetric/main.cpp | 9 | ||||
-rw-r--r-- | examples/datavisualization/volumetric/volumetric.cpp | 5 | ||||
-rw-r--r-- | examples/datavisualization/volumetric/volumetric.h | 1 |
3 files changed, 14 insertions, 1 deletions
diff --git a/examples/datavisualization/volumetric/main.cpp b/examples/datavisualization/volumetric/main.cpp index 84062969..68895b17 100644 --- a/examples/datavisualization/volumetric/main.cpp +++ b/examples/datavisualization/volumetric/main.cpp @@ -135,6 +135,10 @@ int main(int argc, char **argv) preserveOpacityCheckBox->setText(QStringLiteral("Preserve opacity")); preserveOpacityCheckBox->setChecked(true); + QCheckBox *useHighDefShaderCheckBox = new QCheckBox(widget); + useHighDefShaderCheckBox->setText(QStringLiteral("Use HD shader")); + useHighDefShaderCheckBox->setChecked(true); + vLayout->addWidget(sliceXCheckBox); vLayout->addWidget(sliceXSlider); vLayout->addWidget(sliceImageXLabel); @@ -150,7 +154,8 @@ int main(int argc, char **argv) vLayout2->addWidget(colorTableCheckBox); vLayout2->addWidget(alphaMultiplierLabel); vLayout2->addWidget(alphaMultiplierSlider); - vLayout2->addWidget(preserveOpacityCheckBox, 1, Qt::AlignTop); + vLayout2->addWidget(preserveOpacityCheckBox); + vLayout2->addWidget(useHighDefShaderCheckBox, 1, Qt::AlignTop); VolumetricModifier *modifier = new VolumetricModifier(graph); modifier->setFpsLabel(fpsLabel); @@ -184,6 +189,8 @@ int main(int argc, char **argv) &VolumetricModifier::changeColorTable); QObject::connect(preserveOpacityCheckBox, &QCheckBox::stateChanged, modifier, &VolumetricModifier::setPreserveOpacity); + QObject::connect(useHighDefShaderCheckBox, &QCheckBox::stateChanged, modifier, + &VolumetricModifier::setUseHighDefShader); QObject::connect(alphaMultiplierSlider, &QSlider::valueChanged, modifier, &VolumetricModifier::adjustAlphaMultiplier); diff --git a/examples/datavisualization/volumetric/volumetric.cpp b/examples/datavisualization/volumetric/volumetric.cpp index 56f02dcb..1de4b1b7 100644 --- a/examples/datavisualization/volumetric/volumetric.cpp +++ b/examples/datavisualization/volumetric/volumetric.cpp @@ -338,6 +338,11 @@ void VolumetricModifier::setPreserveOpacity(bool enabled) adjustSliceZ(m_sliceSliderZ->value()); } +void VolumetricModifier::setUseHighDefShader(bool enabled) +{ + m_volumeItem->setUseHighDefShader(enabled); +} + void VolumetricModifier::adjustAlphaMultiplier(int value) { float mult; diff --git a/examples/datavisualization/volumetric/volumetric.h b/examples/datavisualization/volumetric/volumetric.h index 497506ad..83af4b3c 100644 --- a/examples/datavisualization/volumetric/volumetric.h +++ b/examples/datavisualization/volumetric/volumetric.h @@ -60,6 +60,7 @@ public slots: void setSliceSliders(QSlider *sliderX, QSlider *sliderY, QSlider *sliderZ); void changeColorTable(int enabled); void setPreserveOpacity(bool enabled); + void setUseHighDefShader(bool enabled); void adjustAlphaMultiplier(int value); private: |