mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-17 21:11:39 +00:00
Changed: #1193 The status bar displays profiling information. Particle texture widget displays texture name.
This commit is contained in:
parent
245b2d78a2
commit
cc3c6013f4
6 changed files with 33 additions and 22 deletions
|
@ -49,6 +49,7 @@ namespace NLQT
|
||||||
CGraphicsViewport::CGraphicsViewport(QWidget *parent)
|
CGraphicsViewport::CGraphicsViewport(QWidget *parent)
|
||||||
: QNLWidget(parent)
|
: QNLWidget(parent)
|
||||||
{
|
{
|
||||||
|
this->setStatusTip("Status ready");
|
||||||
}
|
}
|
||||||
|
|
||||||
CGraphicsViewport::~CGraphicsViewport()
|
CGraphicsViewport::~CGraphicsViewport()
|
||||||
|
|
|
@ -106,8 +106,10 @@ CMainWindow::CMainWindow(QWidget *parent)
|
||||||
|
|
||||||
_statusBarTimer = new QTimer(this);
|
_statusBarTimer = new QTimer(this);
|
||||||
connect(_statusBarTimer, SIGNAL(timeout()), this, SLOT(updateStatusBar()));
|
connect(_statusBarTimer, SIGNAL(timeout()), this, SLOT(updateStatusBar()));
|
||||||
_statusBarTimer->start(5000);
|
_statusBarTimer->start(1000);
|
||||||
|
|
||||||
|
_statusInfo = new QLabel(this);
|
||||||
|
this->statusBar()->addPermanentWidget(_statusInfo);
|
||||||
Modules::config().setAndCallback("SoundEnabled", CConfigCallback(this, &CMainWindow::cfcbSoundEnabled));
|
Modules::config().setAndCallback("SoundEnabled", CConfigCallback(this, &CMainWindow::cfcbSoundEnabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,7 +218,13 @@ void CMainWindow::about()
|
||||||
void CMainWindow::updateStatusBar()
|
void CMainWindow::updateStatusBar()
|
||||||
{
|
{
|
||||||
if (_isGraphicsInitialized)
|
if (_isGraphicsInitialized)
|
||||||
statusBar()->showMessage(QString(Modules::objView().getDriver()->getVideocardInformation()));
|
{
|
||||||
|
_statusInfo->setText(QString("%1, Nb tri: %2, Texture used (Mb): %3, fps: %4 ").arg(
|
||||||
|
Modules::objView().getDriver()->getVideocardInformation()).arg(
|
||||||
|
_numTri).arg(
|
||||||
|
_texMem, 0,'f',4).arg(
|
||||||
|
_fps, 0,'f',2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMainWindow::updateInitialization(bool visible)
|
void CMainWindow::updateInitialization(bool visible)
|
||||||
|
@ -616,6 +624,12 @@ void CMainWindow::updateRender()
|
||||||
// 14. Update Debug (stuff for dev)
|
// 14. Update Debug (stuff for dev)
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
|
// 15. Calc FPS
|
||||||
|
static sint64 lastTime = NLMISC::CTime::getPerformanceTime ();
|
||||||
|
sint64 newTime = NLMISC::CTime::getPerformanceTime ();
|
||||||
|
_fps = float(1.0 / NLMISC::CTime::ticksToSecond (newTime-lastTime));
|
||||||
|
lastTime = newTime;
|
||||||
|
|
||||||
if (_isGraphicsInitialized && !Modules::objView().getDriver()->isLost())
|
if (_isGraphicsInitialized && !Modules::objView().getDriver()->isLost())
|
||||||
{
|
{
|
||||||
// 01. Render Driver (background color)
|
// 01. Render Driver (background color)
|
||||||
|
@ -643,6 +657,13 @@ void CMainWindow::updateRender()
|
||||||
// 09. Render Debug 2D (stuff for dev)
|
// 09. Render Debug 2D (stuff for dev)
|
||||||
Modules::objView().renderDebug2D();
|
Modules::objView().renderDebug2D();
|
||||||
|
|
||||||
|
// 10. Get profile information
|
||||||
|
NL3D::CPrimitiveProfile in, out;
|
||||||
|
Modules::objView().getDriver()->profileRenderedPrimitives (in, out);
|
||||||
|
|
||||||
|
_numTri = in.NLines+in.NPoints+in.NQuads*2+in.NTriangles+in.NTriangleStrips;
|
||||||
|
_texMem = float(Modules::objView().getDriver()->getUsedTextureMemory() / float(1024*1024));
|
||||||
|
|
||||||
// swap 3d buffers
|
// swap 3d buffers
|
||||||
Modules::objView().getDriver()->swapBuffers();
|
Modules::objView().getDriver()->swapBuffers();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
// Qt includes
|
// Qt includes
|
||||||
#include <QtGui/QMainWindow>
|
#include <QtGui/QMainWindow>
|
||||||
|
#include <QtGui/QLabel>
|
||||||
|
|
||||||
// NeL includes
|
// NeL includes
|
||||||
#include <nel/misc/config_file.h>
|
#include <nel/misc/config_file.h>
|
||||||
|
@ -140,6 +141,12 @@ private:
|
||||||
QAction *_settingsAction;
|
QAction *_settingsAction;
|
||||||
QAction *_aboutAction;
|
QAction *_aboutAction;
|
||||||
QAction *_aboutQtAction;
|
QAction *_aboutQtAction;
|
||||||
|
|
||||||
|
QLabel *_statusInfo;
|
||||||
|
|
||||||
|
float _fps;
|
||||||
|
uint _numTri;
|
||||||
|
float _texMem;
|
||||||
};/* class CMainWindow */
|
};/* class CMainWindow */
|
||||||
|
|
||||||
} /* namespace NLQT */
|
} /* namespace NLQT */
|
||||||
|
|
|
@ -84,6 +84,7 @@ void CObjectViewer::init(nlWindow wnd, uint16 w, uint16 h)
|
||||||
|
|
||||||
// initialize the window with config file values
|
// initialize the window with config file values
|
||||||
_Driver->setDisplay(wnd, NL3D::UDriver::CMode(w, h, 32));
|
_Driver->setDisplay(wnd, NL3D::UDriver::CMode(w, h, 32));
|
||||||
|
_Driver->enableUsedTextureMemorySum();
|
||||||
|
|
||||||
_Light = ULight::createLight();
|
_Light = ULight::createLight();
|
||||||
|
|
||||||
|
@ -175,24 +176,6 @@ void CObjectViewer::updateInput()
|
||||||
{
|
{
|
||||||
_Driver->EventServer.pump();
|
_Driver->EventServer.pump();
|
||||||
|
|
||||||
// Test some keys
|
|
||||||
if (_Driver->AsyncListener.isKeyPushed(KeyQ))
|
|
||||||
{
|
|
||||||
// Change render mode
|
|
||||||
switch (_Driver->getPolygonMode())
|
|
||||||
{
|
|
||||||
case UDriver::Filled:
|
|
||||||
_Driver->setPolygonMode (UDriver::Line);
|
|
||||||
break;
|
|
||||||
case UDriver::Line:
|
|
||||||
_Driver->setPolygonMode (UDriver::Point);
|
|
||||||
break;
|
|
||||||
case UDriver::Point:
|
|
||||||
_Driver->setPolygonMode (UDriver::Filled);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// New matrix from camera
|
// New matrix from camera
|
||||||
_Scene->getCam().setTransformMode(NL3D::UTransformable::DirectMatrix);
|
_Scene->getCam().setTransformMode(NL3D::UTransformable::DirectMatrix);
|
||||||
_Scene->getCam().setMatrix (_MouseListener->getViewMatrix());
|
_Scene->getCam().setMatrix (_MouseListener->getViewMatrix());
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
#include "particle_property_dialog.h"
|
#include "particle_property_dialog.h"
|
||||||
|
|
||||||
// Qt includes
|
// Qt includes
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "modules.h"
|
#include "modules.h"
|
||||||
|
|
||||||
|
@ -42,7 +41,6 @@ CPropertyDialog::~CPropertyDialog()
|
||||||
void CPropertyDialog::setupUi()
|
void CPropertyDialog::setupUi()
|
||||||
{
|
{
|
||||||
setObjectName(QString::fromUtf8("CPropertyDialog"));
|
setObjectName(QString::fromUtf8("CPropertyDialog"));
|
||||||
|
|
||||||
QIcon icon;
|
QIcon icon;
|
||||||
icon.addFile(QString::fromUtf8(":/images/pqrticles.png"), QSize(), QIcon::Normal, QIcon::Off);
|
icon.addFile(QString::fromUtf8(":/images/pqrticles.png"), QSize(), QIcon::Normal, QIcon::Off);
|
||||||
setWindowIcon(icon);
|
setWindowIcon(icon);
|
||||||
|
|
|
@ -117,6 +117,7 @@ void CParticleTextureWidget::updateTexture()
|
||||||
if (dynamic_cast<NL3D::CTextureFile *>(_Wrapper->get()))
|
if (dynamic_cast<NL3D::CTextureFile *>(_Wrapper->get()))
|
||||||
{
|
{
|
||||||
std::string texName = (static_cast<NL3D::CTextureFile *>(_Wrapper->get()))->getFileName().c_str();
|
std::string texName = (static_cast<NL3D::CTextureFile *>(_Wrapper->get()))->getFileName().c_str();
|
||||||
|
_ui.nameLabel->setText(tr("Name: %1").arg(texName.c_str()));
|
||||||
if (!NLMISC::CFile::getFilename(texName).empty())
|
if (!NLMISC::CFile::getFilename(texName).empty())
|
||||||
_ui.imageLabel->setPixmap(QPixmap(NLMISC::CPath::lookup(texName).c_str()));
|
_ui.imageLabel->setPixmap(QPixmap(NLMISC::CPath::lookup(texName).c_str()));
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue