mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 05:48:26 +02:00
more tweaks to LOD tools dialog
This commit is contained in:
parent
f43b8bbe8e
commit
b67cf3af24
3 changed files with 18 additions and 22 deletions
|
@ -20,10 +20,6 @@
|
||||||
Setting::Handle<float> desktopLODDecreaseFPS("desktopLODDecreaseFPS", DEFAULT_DESKTOP_LOD_DOWN_FPS);
|
Setting::Handle<float> desktopLODDecreaseFPS("desktopLODDecreaseFPS", DEFAULT_DESKTOP_LOD_DOWN_FPS);
|
||||||
Setting::Handle<float> hmdLODDecreaseFPS("hmdLODDecreaseFPS", DEFAULT_HMD_LOD_DOWN_FPS);
|
Setting::Handle<float> hmdLODDecreaseFPS("hmdLODDecreaseFPS", DEFAULT_HMD_LOD_DOWN_FPS);
|
||||||
|
|
||||||
Setting::Handle<int> boundaryLevelAdjust("boundaryLevelAdjust", 0);
|
|
||||||
Setting::Handle<float> octreeSizeScale("octreeSizeScale", DEFAULT_OCTREE_SIZE_SCALE);
|
|
||||||
|
|
||||||
|
|
||||||
LODManager::LODManager() {
|
LODManager::LODManager() {
|
||||||
calculateAvatarLODDistanceMultiplier();
|
calculateAvatarLODDistanceMultiplier();
|
||||||
}
|
}
|
||||||
|
@ -221,15 +217,11 @@ void LODManager::setBoundaryLevelAdjust(int boundaryLevelAdjust) {
|
||||||
void LODManager::loadSettings() {
|
void LODManager::loadSettings() {
|
||||||
setDesktopLODDecreaseFPS(desktopLODDecreaseFPS.get());
|
setDesktopLODDecreaseFPS(desktopLODDecreaseFPS.get());
|
||||||
setHMDLODDecreaseFPS(hmdLODDecreaseFPS.get());
|
setHMDLODDecreaseFPS(hmdLODDecreaseFPS.get());
|
||||||
setBoundaryLevelAdjust(boundaryLevelAdjust.get());
|
|
||||||
setOctreeSizeScale(octreeSizeScale.get());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LODManager::saveSettings() {
|
void LODManager::saveSettings() {
|
||||||
desktopLODDecreaseFPS.set(getDesktopLODDecreaseFPS());
|
desktopLODDecreaseFPS.set(getDesktopLODDecreaseFPS());
|
||||||
hmdLODDecreaseFPS.set(getHMDLODDecreaseFPS());
|
hmdLODDecreaseFPS.set(getHMDLODDecreaseFPS());
|
||||||
boundaryLevelAdjust.set(getBoundaryLevelAdjust());
|
|
||||||
octreeSizeScale.set(getOctreeSizeScale());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,9 +46,9 @@ LodToolsDialog::LodToolsDialog(QWidget* parent) :
|
||||||
_feedback->setFixedWidth(FEEDBACK_WIDTH);
|
_feedback->setFixedWidth(FEEDBACK_WIDTH);
|
||||||
form->addRow("You can see... ", _feedback);
|
form->addRow("You can see... ", _feedback);
|
||||||
|
|
||||||
form->addRow("Automatic LOD Adjustment:", _automaticLODAdjust = new QCheckBox(this));
|
form->addRow("Manually Adjust Level of Detail:", _manualLODAdjust = new QCheckBox(this));
|
||||||
_automaticLODAdjust->setChecked(lodManager->getAutomaticLODAdjust());
|
_manualLODAdjust->setChecked(!lodManager->getAutomaticLODAdjust());
|
||||||
connect(_automaticLODAdjust, SIGNAL(toggled(bool)), SLOT(updateAutomaticLODAdjust()));
|
connect(_manualLODAdjust, SIGNAL(toggled(bool)), SLOT(updateAutomaticLODAdjust()));
|
||||||
|
|
||||||
_lodSize = new QSlider(Qt::Horizontal, this);
|
_lodSize = new QSlider(Qt::Horizontal, this);
|
||||||
const int MAX_LOD_SIZE = MAX_LOD_SIZE_MULTIPLIER;
|
const int MAX_LOD_SIZE = MAX_LOD_SIZE_MULTIPLIER;
|
||||||
|
@ -65,7 +65,7 @@ LodToolsDialog::LodToolsDialog(QWidget* parent) :
|
||||||
_lodSize->setPageStep(PAGE_STEP_LOD_SIZE);
|
_lodSize->setPageStep(PAGE_STEP_LOD_SIZE);
|
||||||
int sliderValue = lodManager->getOctreeSizeScale() / TREE_SCALE;
|
int sliderValue = lodManager->getOctreeSizeScale() / TREE_SCALE;
|
||||||
_lodSize->setValue(sliderValue);
|
_lodSize->setValue(sliderValue);
|
||||||
form->addRow("Non-Avatar Content LOD:", _lodSize);
|
form->addRow("Level of Detail:", _lodSize);
|
||||||
connect(_lodSize,SIGNAL(valueChanged(int)),this,SLOT(sizeScaleValueChanged(int)));
|
connect(_lodSize,SIGNAL(valueChanged(int)),this,SLOT(sizeScaleValueChanged(int)));
|
||||||
|
|
||||||
// Add a button to reset
|
// Add a button to reset
|
||||||
|
@ -86,12 +86,8 @@ void LodToolsDialog::reloadSliders() {
|
||||||
|
|
||||||
void LodToolsDialog::updateAutomaticLODAdjust() {
|
void LodToolsDialog::updateAutomaticLODAdjust() {
|
||||||
auto lodManager = DependencyManager::get<LODManager>();
|
auto lodManager = DependencyManager::get<LODManager>();
|
||||||
lodManager->setAutomaticLODAdjust(_automaticLODAdjust->isChecked());
|
lodManager->setAutomaticLODAdjust(!_manualLODAdjust->isChecked());
|
||||||
}
|
_lodSize->setEnabled(_manualLODAdjust->isChecked());
|
||||||
|
|
||||||
void LodToolsDialog::updateLODValues() {
|
|
||||||
auto lodManager = DependencyManager::get<LODManager>();
|
|
||||||
lodManager->setAutomaticLODAdjust(_automaticLODAdjust->isChecked());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LodToolsDialog::sizeScaleValueChanged(int value) {
|
void LodToolsDialog::sizeScaleValueChanged(int value) {
|
||||||
|
@ -106,9 +102,9 @@ void LodToolsDialog::resetClicked(bool checked) {
|
||||||
|
|
||||||
int sliderValue = DEFAULT_OCTREE_SIZE_SCALE / TREE_SCALE;
|
int sliderValue = DEFAULT_OCTREE_SIZE_SCALE / TREE_SCALE;
|
||||||
_lodSize->setValue(sliderValue);
|
_lodSize->setValue(sliderValue);
|
||||||
_automaticLODAdjust->setChecked(true);
|
_manualLODAdjust->setChecked(false);
|
||||||
|
|
||||||
updateLODValues(); // tell our LOD manager about the reset
|
updateAutomaticLODAdjust(); // tell our LOD manager about the reset
|
||||||
}
|
}
|
||||||
|
|
||||||
void LodToolsDialog::reject() {
|
void LodToolsDialog::reject() {
|
||||||
|
@ -119,6 +115,15 @@ void LodToolsDialog::reject() {
|
||||||
void LodToolsDialog::closeEvent(QCloseEvent* event) {
|
void LodToolsDialog::closeEvent(QCloseEvent* event) {
|
||||||
this->QDialog::closeEvent(event);
|
this->QDialog::closeEvent(event);
|
||||||
emit closed();
|
emit closed();
|
||||||
|
auto lodManager = DependencyManager::get<LODManager>();
|
||||||
|
|
||||||
|
// always revert back to automatic LOD adjustment when closed
|
||||||
|
lodManager->setAutomaticLODAdjust(true);
|
||||||
|
|
||||||
|
// if the user adjusted the LOD above "normal" then always revert back to default
|
||||||
|
if (lodManager->getOctreeSizeScale() > DEFAULT_OCTREE_SIZE_SCALE) {
|
||||||
|
lodManager->setOctreeSizeScale(DEFAULT_OCTREE_SIZE_SCALE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ public slots:
|
||||||
void resetClicked(bool checked);
|
void resetClicked(bool checked);
|
||||||
void reloadSliders();
|
void reloadSliders();
|
||||||
void updateAutomaticLODAdjust();
|
void updateAutomaticLODAdjust();
|
||||||
void updateLODValues();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -44,7 +43,7 @@ protected:
|
||||||
private:
|
private:
|
||||||
QSlider* _lodSize;
|
QSlider* _lodSize;
|
||||||
|
|
||||||
QCheckBox* _automaticLODAdjust;
|
QCheckBox* _manualLODAdjust;
|
||||||
|
|
||||||
QDoubleSpinBox* _desktopLODDecreaseFPS;
|
QDoubleSpinBox* _desktopLODDecreaseFPS;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue