diff --git a/code/nel/tools/3d/object_viewer_qt/src/images/ico_light_group.png b/code/nel/tools/3d/object_viewer_qt/src/images/ico_light_group.png index 312f08a0f..49ad8830a 100644 Binary files a/code/nel/tools/3d/object_viewer_qt/src/images/ico_light_group.png and b/code/nel/tools/3d/object_viewer_qt/src/images/ico_light_group.png differ diff --git a/code/nel/tools/3d/object_viewer_qt/src/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/main_window.cpp index d2db507a3..a283eea3a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/main_window.cpp @@ -398,7 +398,7 @@ void CMainWindow::createMenus() _toolsMenu->addAction(_SunColorDialog->toggleViewAction()); - //_toolsMenu->addAction(_TuneMRMDialog->toggleViewAction()); + _toolsMenu->addAction(_TuneMRMDialog->toggleViewAction()); _TuneMRMDialog->toggleViewAction()->setIcon(QIcon(":/images/ico_mrm_mesh.png")); connect(_ParticleControlDialog->toggleViewAction(), SIGNAL(triggered(bool)), @@ -442,7 +442,7 @@ void CMainWindow::createToolBars() _toolsBar->addAction(_VegetableDialog->toggleViewAction()); _toolsBar->addAction(_GlobalWindDialog->toggleViewAction()); _toolsBar->addAction(_SkeletonScaleDialog->toggleViewAction()); -// _toolsBar->addAction(_TuneMRMDialog->toggleViewAction()); + _toolsBar->addAction(_TuneMRMDialog->toggleViewAction()); } void CMainWindow::createStatusBar() diff --git a/code/nel/tools/3d/object_viewer_qt/src/object_viewer.cpp b/code/nel/tools/3d/object_viewer_qt/src/object_viewer.cpp index 37df70475..ac34152fa 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/object_viewer.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/object_viewer.cpp @@ -89,6 +89,11 @@ void CObjectViewer::init(nlWindow wnd, uint16 w, uint16 h) // initialize the window with config file values _Driver->setDisplay(wnd, NL3D::UDriver::CMode(w, h, 32)); + + // Create a scene + _Scene = _Driver->createScene(false); + _Scene->setPolygonBalancingMode(NL3D::UScene::PolygonBalancingClamp); + _Driver->enableUsedTextureMemorySum(); _Light = ULight::createLight(); @@ -106,9 +111,6 @@ void CObjectViewer::init(nlWindow wnd, uint16 w, uint16 h) _Driver->setLight(0, *_Light); _Driver->enableLight(0); - // Create a scene - _Scene = _Driver->createScene(false); - _PlayListManager = _Scene->createPlayListManager(); _Scene->enableLightingSystem(true); diff --git a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.cpp index 81af1eae3..493cfb577 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.cpp @@ -20,17 +20,46 @@ #include "stdpch.h" #include "tune_mrm_dialog.h" +// NeL includes +#include + +// Project includes +#include "modules.h" + +const int sliderStepSize = 5000; + namespace NLQT { CTuneMRMDialog::CTuneMRMDialog(QWidget *parent) : QDockWidget(parent) { - ui.setupUi(this); + _ui.setupUi(this); + + connect(_ui.maxValueSlider, SIGNAL(valueChanged(int)), this, SLOT(setMaxValue(int))); + connect(_ui.currentValueSlider, SIGNAL(valueChanged(int)), this, SLOT(setCurrentValue(int))); + + _ui.maxValueSlider->setValue(_ui.maxValueSlider->maximum()); } CTuneMRMDialog::~CTuneMRMDialog() { } +void CTuneMRMDialog::setMaxValue(int value) +{ + int actualMaxValue = value * sliderStepSize; + int actualValue = float(actualMaxValue) * _ui.currentValueSlider->value() / _ui.currentValueSlider->maximum(); + + _ui.currentValueSlider->setMaximum(actualMaxValue); + _ui.currentValueSlider->setValue(actualValue); + _ui.maxValueSpinBox->setValue(actualMaxValue); +} + +void CTuneMRMDialog::setCurrentValue(int value) +{ + Modules::objView().getScene()->setGroupLoadMaxPolygon("Skin", value); + _ui.currentValueSpinBox->setValue(value); +} + } /* namespace NLQT */ diff --git a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.h b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.h index 74b3c9bae..c0e00d9f4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.h +++ b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_dialog.h @@ -40,10 +40,12 @@ public: ~CTuneMRMDialog(); private Q_SLOTS: + void setMaxValue(int value); + void setCurrentValue(int value); private: - Ui::CTuneMRMDialog ui; + Ui::CTuneMRMDialog _ui; }; /* class CTuneMRMDialog */ diff --git a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_form.ui b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_form.ui index ba6bd4d5e..4f5b22c84 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_form.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/tune_mrm_form.ui @@ -7,13 +7,13 @@ 0 0 576 - 87 + 92 476 - 87 + 92 @@ -47,7 +47,7 @@ - + true @@ -87,7 +87,7 @@ - + true @@ -105,29 +105,32 @@ - + - 100000 + 20 - 5000 + 1 - 10000 + 5 - 100000 + 20 Qt::Horizontal + + QSlider::TicksAbove + - 5000 + 1 - + 100000 @@ -143,22 +146,5 @@ - - - horizontalSlider - valueChanged(int) - spinBox - setValue(int) - - - 214 - 67 - - - 232 - 47 - - - - +