diff options
author | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-10-09 20:51:39 +0300 |
---|---|---|
committer | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-10-11 13:10:32 +0300 |
commit | 7da61c9da6b885fa90d274d220c2bcef2553b006 (patch) | |
tree | fbd473eff154ab42133ff14724e87128892b9922 /tools | |
parent | d0cfd79d940bd9ed4dd63334ecf686fa013eaf37 (diff) |
Add anaglyph stereoscopic modes into opengl runtime
Implement also anaglyph red-cyan & green-magenta stereoscopic modes
for opengl runtime. APIs for C++ and QML. Add options into viewer.
Task-number: QT3DS-3981
Change-Id: Idb9f659b3799e954253e37045c1a3b2a55fb2779
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/viewer/main.cpp | 4 | ||||
-rw-r--r-- | tools/viewer/qml/main.qml | 24 |
2 files changed, 28 insertions, 0 deletions
diff --git a/tools/viewer/main.cpp b/tools/viewer/main.cpp index 70da8fa..1bcbe9d 100644 --- a/tools/viewer/main.cpp +++ b/tools/viewer/main.cpp @@ -377,6 +377,10 @@ int main(int argc, char *argv[]) appWindow->setProperty("stereoMode", Q3DSViewerSettings::StereoModeTopBottom); else if (stereoStr == QStringLiteral("leftright")) appWindow->setProperty("stereoMode", Q3DSViewerSettings::StereoModeLeftRight); + else if (stereoStr == QStringLiteral("anaglyphredcyan")) + appWindow->setProperty("stereoMode", Q3DSViewerSettings::StereoModeAnaglyphRedCyan); + else if (stereoStr == QStringLiteral("anaglyphgreenmagenta")) + appWindow->setProperty("stereoMode", Q3DSViewerSettings::StereoModeAnaglyphGreenMagenta); else appWindow->setProperty("stereoMode", Q3DSViewerSettings::StereoModeMono); } diff --git a/tools/viewer/qml/main.qml b/tools/viewer/qml/main.qml index a53c0df..153753a 100644 --- a/tools/viewer/qml/main.qml +++ b/tools/viewer/qml/main.qml @@ -570,6 +570,10 @@ ApplicationWindow { else if (window.stereoMode === ViewerSettings.StereoModeTopBottom) window.stereoMode = ViewerSettings.StereoModeLeftRight; else if (window.stereoMode === ViewerSettings.StereoModeLeftRight) + window.stereoMode = ViewerSettings.StereoModeAnaglyphRedCyan; + else if (window.stereoMode === ViewerSettings.StereoModeAnaglyphRedCyan) + window.stereoMode = ViewerSettings.StereoModeAnaglyphGreenMagenta; + else if (window.stereoMode === ViewerSettings.StereoModeAnaglyphGreenMagenta) window.stereoMode = ViewerSettings.StereoModeMono; } } @@ -610,6 +614,26 @@ ApplicationWindow { } } StyledMenuItem { + id: stereoAnaglyphRedCyan + text: qsTr("Anaglyph (Red-Cyan)") + enabled: _viewerHelper.contentView === ViewerHelper.StudioView + showCheckMark: window.stereoMode === ViewerSettings.StereoModeAnaglyphRedCyan + onTriggered: { + if (enabled) + window.stereoMode = ViewerSettings.StereoModeAnaglyphRedCyan; + } + } + StyledMenuItem { + id: stereoAnaglyphGreenMagenta + text: qsTr("Anaglyph (Green-Magenta)") + enabled: _viewerHelper.contentView === ViewerHelper.StudioView + showCheckMark: window.stereoMode === ViewerSettings.StereoModeAnaglyphGreenMagenta + onTriggered: { + if (enabled) + window.stereoMode = ViewerSettings.StereoModeAnaglyphGreenMagenta; + } + } + StyledMenuItem { id: stereoEyeSeparationUp text: qsTr("Increase Separation") shortcut: "Ctrl+Shift++" |