From adc79be81cc37fdaf9c8165ec3ecf769d8b7e49b Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 23 Oct 2013 10:30:42 -0700 Subject: [PATCH] Add back the full screen mode as a menu option, temporarily. --- interface/src/Application.cpp | 21 ++++++++++++++++++++- interface/src/Menu.cpp | 1 + interface/src/Menu.h | 1 + 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index b310803336..37ac6f4879 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -382,6 +382,20 @@ void Application::paintGL() { } else if (_myCamera.getMode() == CAMERA_MODE_THIRD_PERSON) { _myCamera.setTargetPosition(_myAvatar.getUprightHeadPosition()); _myCamera.setTargetRotation(_myAvatar.getHead().getCameraOrientation()); + + } else if (_myCamera.getMode() == CAMERA_MODE_MIRROR) { + _myCamera.setTightness(0.0f); + _myCamera.setDistance(0.3f); + glm::vec3 targetPosition = _myAvatar.getUprightHeadPosition(); + if (_myAvatar.getHead().getBlendFace().isActive()) { + // make sure we're aligned to the blend face eyes + glm::vec3 leftEyePosition, rightEyePosition; + if (_myAvatar.getHead().getBlendFace().getEyePositions(leftEyePosition, rightEyePosition, true)) { + targetPosition = (leftEyePosition + rightEyePosition) * 0.5f; + } + } + _myCamera.setTargetPosition(targetPosition); + _myCamera.setTargetRotation(_myAvatar.getWorldAlignedOrientation() * glm::quat(glm::vec3(0.0f, PIf, 0.0f))); } // Update camera position @@ -2125,7 +2139,12 @@ void Application::update(float deltaTime) { } if (!OculusManager::isConnected()) { - if (Menu::getInstance()->isOptionChecked(MenuOption::FirstPerson)) { + if (Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) { + if (_myCamera.getMode() != CAMERA_MODE_MIRROR) { + _myCamera.setMode(CAMERA_MODE_MIRROR); + _myCamera.setModeShiftRate(100.0f); + } + } else if (Menu::getInstance()->isOptionChecked(MenuOption::FirstPerson)) { if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON) { _myCamera.setMode(CAMERA_MODE_FIRST_PERSON); _myCamera.setModeShiftRate(1.0f); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 9f7f3138c9..d324b37a8b 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -204,6 +204,7 @@ Menu::Menu() : SLOT(setFullscreen(bool))); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPerson, Qt::Key_P, true); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, Qt::Key_H); + addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror); QMenu* avatarSizeMenu = viewMenu->addMenu("Avatar Size"); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index c11997d1ce..80c739b6ca 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -164,6 +164,7 @@ namespace MenuOption { const QString FrameTimer = "Show Timer"; const QString FrustumRenderMode = "Render Mode"; const QString Fullscreen = "Fullscreen"; + const QString FullscreenMirror = "Fullscreen Mirror"; const QString GlowMode = "Cycle Glow Mode"; const QString GoToDomain = "Go To Domain..."; const QString GoToLocation = "Go To Location...";