From adc79be81cc37fdaf9c8165ec3ecf769d8b7e49b Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 23 Oct 2013 10:30:42 -0700 Subject: [PATCH 1/2] 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..."; From 71b4b8fe4683d4692c83cfad918be6f9d4f927f5 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 23 Oct 2013 10:54:39 -0700 Subject: [PATCH 2/2] Use lowercase h to toggle full screen mirror, capital H for inset. --- interface/src/Application.cpp | 6 +++++- interface/src/Menu.cpp | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 37ac6f4879..285e8263c5 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -899,7 +899,11 @@ void Application::keyPressEvent(QKeyEvent* event) { updateProjectionMatrix(); break; case Qt::Key_H: - Menu::getInstance()->triggerOption(MenuOption::Mirror); + if (isShifted) { + Menu::getInstance()->triggerOption(MenuOption::Mirror); + } else { + Menu::getInstance()->triggerOption(MenuOption::FullscreenMirror); + } break; case Qt::Key_F: if (isShifted) { diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index d324b37a8b..d9f1caa794 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -203,8 +203,8 @@ Menu::Menu() : appInstance, SLOT(setFullscreen(bool))); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPerson, Qt::Key_P, true); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, Qt::Key_H); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror); + addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, Qt::SHIFT | Qt::Key_H); + addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror, Qt::Key_H); QMenu* avatarSizeMenu = viewMenu->addMenu("Avatar Size");