From e9b3cca3def0700c42d961cc291f45f593468832 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 7 Aug 2013 14:26:22 -0700 Subject: [PATCH] OpenGL fields of view are vertical, not horizontal. --- interface/src/Application.cpp | 20 ++++++++++---------- interface/src/Application.h | 2 +- interface/src/Camera.cpp | 2 +- interface/src/Camera.h | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 61317cc4dd..8261ad9585 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -471,7 +471,7 @@ void Application::resizeGL(int width, int height) { float aspectRatio = ((float)width/(float)height); // based on screen resize // reset the camera FOV to our preference... - _myCamera.setFieldOfView(_horizontalFieldOfView); + _myCamera.setFieldOfView(_fieldOfView); // get the lens details from the current camera Camera& camera = _viewFrustumFromOffset->isChecked() ? _viewFrustumOffsetCamera : _myCamera; @@ -492,7 +492,7 @@ void Application::resizeGL(int width, int height) { } } else { camera.setAspectRatio(aspectRatio); - camera.setFieldOfView(fov = _horizontalFieldOfView); + camera.setFieldOfView(fov = _fieldOfView); } // Tell our viewFrustum about this change @@ -1295,11 +1295,11 @@ void Application::editPreferences() { avatarURL->setMinimumWidth(QLINE_MINIMUM_WIDTH); form->addRow("Avatar URL:", avatarURL); - QSpinBox* horizontalFieldOfView = new QSpinBox(); - horizontalFieldOfView->setMaximum(180); - horizontalFieldOfView->setMinimum(1); - horizontalFieldOfView->setValue(_horizontalFieldOfView); - form->addRow("Horizontal field of view (degrees):", horizontalFieldOfView); + QSpinBox* fieldOfView = new QSpinBox(); + fieldOfView->setMaximum(180); + fieldOfView->setMinimum(1); + fieldOfView->setValue(_fieldOfView); + form->addRow("Vertical Field of View (Degrees):", fieldOfView); QDoubleSpinBox* gyroCameraSensitivity = new QDoubleSpinBox(); gyroCameraSensitivity->setValue(_gyroCameraSensitivity); @@ -1359,7 +1359,7 @@ void Application::editPreferences() { if (!shouldDynamicallySetJitterBuffer()) { _audio.setJitterBufferSamples(_audioJitterBufferSamples); } - _horizontalFieldOfView = horizontalFieldOfView->value(); + _fieldOfView = fieldOfView->value(); resizeGL(_glWidget->width(), _glWidget->height()); } @@ -4141,7 +4141,7 @@ void Application::loadSettings(QSettings* settings) { _gyroCameraSensitivity = loadSetting(settings, "gyroCameraSensitivity", 0.5f); _audioJitterBufferSamples = loadSetting(settings, "audioJitterBufferSamples", 0); - _horizontalFieldOfView = loadSetting(settings, "horizontalFieldOfView", HORIZONTAL_FIELD_OF_VIEW_DEGREES); + _fieldOfView = loadSetting(settings, "fieldOfView", DEFAULT_FIELD_OF_VIEW_DEGREES); settings->beginGroup("View Frustum Offset Camera"); // in case settings is corrupt or missing loadSetting() will check for NaN @@ -4165,7 +4165,7 @@ void Application::saveSettings(QSettings* settings) { settings->setValue("gyroCameraSensitivity", _gyroCameraSensitivity); settings->setValue("audioJitterBufferSamples", _audioJitterBufferSamples); - settings->setValue("horizontalFieldOfView", _horizontalFieldOfView); + settings->setValue("fieldOfView", _fieldOfView); settings->beginGroup("View Frustum Offset Camera"); settings->setValue("viewFrustumOffsetYaw", _viewFrustumOffsetYaw); settings->setValue("viewFrustumOffsetPitch", _viewFrustumOffsetPitch); diff --git a/interface/src/Application.h b/interface/src/Application.h index d9c945f34e..8aa47a39fc 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -383,7 +383,7 @@ private: int _audioJitterBufferSamples; // Number of extra samples to wait before starting audio playback - float _horizontalFieldOfView; // In Degrees, doesn't apply to HMD like Oculus + float _fieldOfView; // In Degrees, doesn't apply to HMD like Oculus HandControl _handControl; diff --git a/interface/src/Camera.cpp b/interface/src/Camera.cpp index 3fdb401751..22d0d39edf 100644 --- a/interface/src/Camera.cpp +++ b/interface/src/Camera.cpp @@ -37,7 +37,7 @@ Camera::Camera() { _linearModeShift = 0.0f; _mode = CAMERA_MODE_THIRD_PERSON; _tightness = 10.0f; // default - _fieldOfView = HORIZONTAL_FIELD_OF_VIEW_DEGREES; + _fieldOfView = DEFAULT_FIELD_OF_VIEW_DEGREES; _nearClip = 0.08f; // default _farClip = 50.0f * TREE_SCALE; // default _upShift = 0.0f; diff --git a/interface/src/Camera.h b/interface/src/Camera.h index de4553b6dc..615135bc80 100644 --- a/interface/src/Camera.h +++ b/interface/src/Camera.h @@ -11,7 +11,7 @@ #include #include -const float HORIZONTAL_FIELD_OF_VIEW_DEGREES = 90.0f; +const float DEFAULT_FIELD_OF_VIEW_DEGREES = 90.0f; enum CameraMode {