mirror of
https://github.com/lubosz/overte.git
synced 2025-08-17 10:09:51 +02:00
reworking of view/camera mode to match spec
This commit is contained in:
parent
1508a637ab
commit
d51f514281
5 changed files with 35 additions and 24 deletions
|
@ -1338,7 +1338,7 @@ void Application::paintGL() {
|
||||||
renderArgs._context->syncCache();
|
renderArgs._context->syncCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
|
||||||
PerformanceTimer perfTimer("Mirror");
|
PerformanceTimer perfTimer("Mirror");
|
||||||
auto primaryFbo = DependencyManager::get<FramebufferCache>()->getPrimaryFramebuffer();
|
auto primaryFbo = DependencyManager::get<FramebufferCache>()->getPrimaryFramebuffer();
|
||||||
|
|
||||||
|
@ -1985,7 +1985,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
|
||||||
|
|
||||||
case Qt::Key_H:
|
case Qt::Key_H:
|
||||||
if (isShifted) {
|
if (isShifted) {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::Mirror);
|
Menu::getInstance()->triggerOption(MenuOption::MiniMirror);
|
||||||
} else {
|
} else {
|
||||||
Menu::getInstance()->setIsOptionChecked(MenuOption::FullscreenMirror, !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
|
Menu::getInstance()->setIsOptionChecked(MenuOption::FullscreenMirror, !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
|
||||||
if (!Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) {
|
if (!Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) {
|
||||||
|
|
|
@ -144,32 +144,43 @@ Menu::Menu() {
|
||||||
|
|
||||||
|
|
||||||
// View menu ----------------------------------
|
// View menu ----------------------------------
|
||||||
// FIXME - this is not yet matching Alan's spec because it bundles the camera mode
|
|
||||||
// into a sub menu. I need to double check that cameraMenuChanged() is updated
|
|
||||||
// to handle not being in a sub-menu
|
|
||||||
MenuWrapper* viewMenu = addMenu("View");
|
MenuWrapper* viewMenu = addMenu("View");
|
||||||
MenuWrapper* cameraModeMenu = viewMenu->addMenu("Camera Mode");
|
QActionGroup* cameraModeGroup = new QActionGroup(viewMenu);
|
||||||
QActionGroup* cameraModeGroup = new QActionGroup(cameraModeMenu);
|
|
||||||
|
// View > [camera group]
|
||||||
cameraModeGroup->setExclusive(true);
|
cameraModeGroup->setExclusive(true);
|
||||||
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
|
|
||||||
|
// View > First Person
|
||||||
|
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
|
||||||
MenuOption::FirstPerson, 0, // QML Qt:: Key_P
|
MenuOption::FirstPerson, 0, // QML Qt:: Key_P
|
||||||
false, qApp, SLOT(cameraMenuChanged())));
|
false, qApp, SLOT(cameraMenuChanged())));
|
||||||
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
|
|
||||||
|
// View > Third Person
|
||||||
|
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
|
||||||
MenuOption::ThirdPerson, 0,
|
MenuOption::ThirdPerson, 0,
|
||||||
true, qApp, SLOT(cameraMenuChanged())));
|
true, qApp, SLOT(cameraMenuChanged())));
|
||||||
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
|
|
||||||
MenuOption::IndependentMode, 0,
|
// View > Mirror
|
||||||
false, qApp, SLOT(cameraMenuChanged())));
|
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
|
||||||
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
|
|
||||||
MenuOption::CameraEntityMode, 0,
|
|
||||||
false, qApp, SLOT(cameraMenuChanged())));
|
|
||||||
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
|
|
||||||
MenuOption::FullscreenMirror, 0, // QML Qt::Key_H,
|
MenuOption::FullscreenMirror, 0, // QML Qt::Key_H,
|
||||||
false, qApp, SLOT(cameraMenuChanged())));
|
false, qApp, SLOT(cameraMenuChanged())));
|
||||||
|
|
||||||
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror,
|
// View > Independent [advanced]
|
||||||
|
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
|
||||||
|
MenuOption::IndependentMode, 0,
|
||||||
|
false, qApp, SLOT(cameraMenuChanged()),
|
||||||
|
UNSPECIFIED_POSITION, "Advanced"));
|
||||||
|
|
||||||
|
// View > Entity Camera [advanced]
|
||||||
|
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
|
||||||
|
MenuOption::CameraEntityMode, 0,
|
||||||
|
false, qApp, SLOT(cameraMenuChanged()),
|
||||||
|
UNSPECIFIED_POSITION, "Advanced"));
|
||||||
|
|
||||||
|
// View > Mini Mirror [advanced]
|
||||||
|
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MiniMirror,
|
||||||
0, //QML Qt::SHIFT | Qt::Key_H,
|
0, //QML Qt::SHIFT | Qt::Key_H,
|
||||||
true);
|
false, NULL, NULL, UNSPECIFIED_POSITION, "Advanced");
|
||||||
|
|
||||||
|
|
||||||
// Edit menu ----------------------------------
|
// Edit menu ----------------------------------
|
||||||
|
|
|
@ -218,7 +218,7 @@ namespace MenuOption {
|
||||||
const QString FixGaze = "Fix Gaze (no saccade)";
|
const QString FixGaze = "Fix Gaze (no saccade)";
|
||||||
const QString Forward = "Forward";
|
const QString Forward = "Forward";
|
||||||
const QString FrameTimer = "Show Timer";
|
const QString FrameTimer = "Show Timer";
|
||||||
const QString FullscreenMirror = "Fullscreen Mirror";
|
const QString FullscreenMirror = "Mirror";
|
||||||
const QString GlowWhenSpeaking = "Glow When Speaking";
|
const QString GlowWhenSpeaking = "Glow When Speaking";
|
||||||
const QString Help = "Help...";
|
const QString Help = "Help...";
|
||||||
const QString IncreaseAvatarSize = "Increase Avatar Size";
|
const QString IncreaseAvatarSize = "Increase Avatar Size";
|
||||||
|
@ -234,7 +234,7 @@ namespace MenuOption {
|
||||||
const QString LogExtraTimings = "Log Extra Timing Details";
|
const QString LogExtraTimings = "Log Extra Timing Details";
|
||||||
const QString LowVelocityFilter = "Low Velocity Filter";
|
const QString LowVelocityFilter = "Low Velocity Filter";
|
||||||
const QString MeshVisible = "Draw Mesh";
|
const QString MeshVisible = "Draw Mesh";
|
||||||
const QString Mirror = "Mirror";
|
const QString MiniMirror = "Mini Mirror";
|
||||||
const QString MuteAudio = "Mute Microphone";
|
const QString MuteAudio = "Mute Microphone";
|
||||||
const QString MuteEnvironment = "Mute Environment";
|
const QString MuteEnvironment = "Mute Environment";
|
||||||
const QString MuteFaceTracking = "Mute Face Tracking";
|
const QString MuteFaceTracking = "Mute Face Tracking";
|
||||||
|
|
|
@ -158,7 +158,7 @@ void ApplicationOverlay::renderRearViewToFbo(RenderArgs* renderArgs) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ApplicationOverlay::renderRearView(RenderArgs* renderArgs) {
|
void ApplicationOverlay::renderRearView(RenderArgs* renderArgs) {
|
||||||
if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {
|
if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
|
||||||
gpu::Batch& batch = *renderArgs->_batch;
|
gpu::Batch& batch = *renderArgs->_batch;
|
||||||
|
|
||||||
auto geometryCache = DependencyManager::get<GeometryCache>();
|
auto geometryCache = DependencyManager::get<GeometryCache>();
|
||||||
|
|
|
@ -62,7 +62,7 @@ void AvatarInputs::update() {
|
||||||
if (!Menu::getInstance()) {
|
if (!Menu::getInstance()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::Mirror) && !qApp->isHMDMode()
|
AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror) && !qApp->isHMDMode()
|
||||||
&& !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
|
&& !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
|
||||||
AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking));
|
AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking));
|
||||||
AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking));
|
AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking));
|
||||||
|
@ -129,7 +129,7 @@ void AvatarInputs::toggleZoom() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AvatarInputs::closeMirror() {
|
void AvatarInputs::closeMirror() {
|
||||||
if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
|
||||||
Menu::getInstance()->triggerOption(MenuOption::Mirror);
|
Menu::getInstance()->triggerOption(MenuOption::MiniMirror);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue