Showing the changes to interface/src/Application.cpp (1 of 4 files). Show all
Unified · Split
| @@ -901,13 +901,18 @@ void Application::paintGL() { · 900 unmodified lines | ||
| 901 | 901 | } |
| 902 | 902 | |
| 903 | 903 | } else if (_myCamera.getMode() == CAMERA_MODE_THIRD_PERSON) { |
| 904 | − _myCamera.setPosition(_myAvatar->getDefaultEyePosition() + | |
| 905 | − _myAvatar->getOrientation() * glm::vec3(0.0f, 0.0f, 1.0f) * _myAvatar->getBoomLength() * _myAvatar->getScale()); | |
| 906 | 904 | if (OculusManager::isConnected()) { |
| 907 | 905 | _myCamera.setRotation(_myAvatar->getWorldAlignedOrientation()); |
| 908 | 906 | } else { |
| 909 | 907 | _myCamera.setRotation(_myAvatar->getHead()->getOrientation()); |
| 910 | 908 | } |
| 909 | + if (Menu::getInstance()->isOptionChecked(MenuOption::CenterPlayerInView)) { | |
| 910 | + _myCamera.setPosition(_myAvatar->getDefaultEyePosition() + | |
| 911 | + _myCamera.getRotation() * glm::vec3(0.0f, 0.0f, 1.0f) * _myAvatar->getBoomLength() * _myAvatar->getScale()); | |
| 912 | + } else { | |
| 913 | + _myCamera.setPosition(_myAvatar->getDefaultEyePosition() + | |
| 914 | + _myAvatar->getOrientation() * glm::vec3(0.0f, 0.0f, 1.0f) * _myAvatar->getBoomLength() * _myAvatar->getScale()); | |
| 915 | + } | |
| 911 | 916 | |
| 912 | 917 | } else if (_myCamera.getMode() == CAMERA_MODE_MIRROR) { |
| 913 | 918 | _myCamera.setRotation(_myAvatar->getWorldAlignedOrientation() * glm::quat(glm::vec3(0.0f, PI + _rotateMirror, 0.0f))); |
| @@ -2384,6 +2389,12 @@ void Application::cameraMenuChanged() { · 1470 unmodified lines | ||
| 2384 | 2389 | } |
| 2385 | 2390 | } |
| 2386 | 2391 | |
| 2392 | +void Application::rotationModeChanged() { | |
| 2393 | + if (!Menu::getInstance()->isOptionChecked(MenuOption::CenterPlayerInView)) { | |
| 2394 | + _myAvatar->setHeadPitch(0); | |
| 2395 | + } | |
| 2396 | +} | |
| 2397 | + | |
| 2387 | 2398 | void Application::updateCamera(float deltaTime) { |
| 2388 | 2399 | PerformanceTimer perfTimer("updateCamera"); |
| 2389 | 2400 | bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings); |