Merge pull request #2323 from ZappoMan/throttlerenderingtweaks

make throttle rendering not adjust LOD
This commit is contained in:
Philip Rosedale 2014-03-14 17:50:52 -07:00
commit 2b7cc43172
4 changed files with 9 additions and 3 deletions

View file

@ -1607,8 +1607,8 @@ bool Application::isLookingAtMyAvatar(Avatar* avatar) {
} }
void Application::updateLOD() { void Application::updateLOD() {
// adjust it unless we were asked to disable this feature // adjust it unless we were asked to disable this feature, or if we're currently in throttleRendering mode
if (!Menu::getInstance()->isOptionChecked(MenuOption::DisableAutoAdjustLOD)) { if (!Menu::getInstance()->isOptionChecked(MenuOption::DisableAutoAdjustLOD) && !isThrottleRendering()) {
Menu::getInstance()->autoAdjustLOD(_fps); Menu::getInstance()->autoAdjustLOD(_fps);
} }
} }

View file

@ -147,6 +147,7 @@ public:
glm::vec3 getMouseVoxelWorldCoordinates(const VoxelDetail& mouseVoxel); glm::vec3 getMouseVoxelWorldCoordinates(const VoxelDetail& mouseVoxel);
QGLWidget* getGLWidget() { return _glWidget; } QGLWidget* getGLWidget() { return _glWidget; }
bool isThrottleRendering() const { return _glWidget->isThrottleRendering(); }
MyAvatar* getAvatar() { return _myAvatar; } MyAvatar* getAvatar() { return _myAvatar; }
Audio* getAudio() { return &_audio; } Audio* getAudio() { return &_audio; }
Camera* getCamera() { return &_myCamera; } Camera* getCamera() { return &_myCamera; }
@ -339,7 +340,7 @@ private:
void displayRearMirrorTools(); void displayRearMirrorTools();
QMainWindow* _window; QMainWindow* _window;
QGLWidget* _glWidget; GLCanvas* _glWidget; // our GLCanvas has a couple extra features
bool _statsExpanded; bool _statsExpanded;
BandwidthMeter _bandwidthMeter; BandwidthMeter _bandwidthMeter;

View file

@ -21,6 +21,10 @@ GLCanvas::GLCanvas() : QGLWidget(QGLFormat(QGL::NoDepthBuffer)),
{ {
} }
bool GLCanvas::isThrottleRendering() const {
return _throttleRendering || Application::getInstance()->getWindow()->isMinimized();
}
void GLCanvas::initializeGL() { void GLCanvas::initializeGL() {
Application::getInstance()->initializeGL(); Application::getInstance()->initializeGL();
setAttribute(Qt::WA_AcceptTouchEvents); setAttribute(Qt::WA_AcceptTouchEvents);

View file

@ -17,6 +17,7 @@ class GLCanvas : public QGLWidget {
Q_OBJECT Q_OBJECT
public: public:
GLCanvas(); GLCanvas();
bool isThrottleRendering() const;
protected: protected:
QTimer _frameTimer; QTimer _frameTimer;