summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/Qt3DSRenderContextCore.cpp
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2023-01-17 15:05:08 +0200
committerAntti Määttä <antti.maatta@qt.io>2023-06-01 12:45:29 +0200
commit334c93b4a26f71f937026d5ce2d6c990e1bf290e (patch)
tree6adb3d3df458e914c643adef50fffeced2faafc2 /src/runtimerender/Qt3DSRenderContextCore.cpp
parent4e1cc1b01aec7528e9789dffb84a260d129e9d14 (diff)
Add support for controlling the stereoscopic eye convergence
Add API for controlling rotation of left & right eye cameras. By adding some rotation, the eyes convergence distance can be adjusted to other than the default infinity. Add support for this into viewer application. Task-number: QT3DS-4238 Change-Id: I3a54893cd6295615016b3d00347c51eca581015b Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/runtimerender/Qt3DSRenderContextCore.cpp')
-rw-r--r--src/runtimerender/Qt3DSRenderContextCore.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/runtimerender/Qt3DSRenderContextCore.cpp b/src/runtimerender/Qt3DSRenderContextCore.cpp
index 8280c39..4d925a8 100644
--- a/src/runtimerender/Qt3DSRenderContextCore.cpp
+++ b/src/runtimerender/Qt3DSRenderContextCore.cpp
@@ -248,6 +248,7 @@ struct SRenderContext : public IQt3DSRenderContext
StereoModes::Enum m_StereoMode;
StereoViews::Enum m_StereoView;
double m_StereoEyeSeparation;
+ double m_StereoEyeRotation;
bool m_StereoProgressiveEnabled;
int m_SkipFramesInterval;
bool m_WireframeMode;
@@ -293,6 +294,7 @@ struct SRenderContext : public IQt3DSRenderContext
, m_StereoMode(StereoModes::Mono)
, m_StereoView(StereoViews::Mono)
, m_StereoEyeSeparation(0.4)
+ , m_StereoEyeRotation(0.0)
, m_StereoProgressiveEnabled(false)
, m_SkipFramesInterval(0)
, m_WireframeMode(false)
@@ -483,6 +485,13 @@ struct SRenderContext : public IQt3DSRenderContext
double GetStereoEyeSeparation() const override { return m_StereoEyeSeparation; }
+ void SetStereoEyeRotation(double rotation) override
+ {
+ m_StereoEyeRotation = rotation;
+ }
+
+ double GetStereoEyeRotation() const override { return m_StereoEyeRotation; }
+
void SetStereoProgressiveEnabled(bool enabled) override
{
m_StereoProgressiveEnabled = enabled;