diff options
author | Kristoffer Skau <[email protected]> | 2022-10-27 15:38:53 +0200 |
---|---|---|
committer | Kristoffer Skau <[email protected]> | 2022-11-28 19:12:27 +0100 |
commit | ee2dbcada81f5220a05414d7bf9d5eeebdda8972 (patch) | |
tree | 2bca1fc0c3569a98f26a0717d9e555a9b88f2364 /examples/opengl/stereoqopenglwidget/main.cpp | |
parent | 8155bd54261688f333b2d68e2d76f0fc076a0fb4 (diff) |
Add support for stereoscopic content in QOpenGLWidget
Need to add the plumbing necessary to support two textures in
QOpenGLWidget and use these in the backing store. The changes
required on the RHI level is already done in an earlier patch.
Then paintGL() needs to be called twice, once for each buffer.
Also add overloads for the other functions of QOopenGLWidget
where it makes sense to query for left or right buffer.
Then finally create an example.
[ChangeLog][Widgets][QOpenGLWidget] Added support for
stereoscopic rendering.
Fixes: QTBUG-64587
Change-Id: I5a5c53506dcf8a56442097290dceb7eb730d50ce
Reviewed-by: Laszlo Agocs <[email protected]>
Diffstat (limited to 'examples/opengl/stereoqopenglwidget/main.cpp')
-rw-r--r-- | examples/opengl/stereoqopenglwidget/main.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/opengl/stereoqopenglwidget/main.cpp b/examples/opengl/stereoqopenglwidget/main.cpp new file mode 100644 index 00000000000..8aad756ecab --- /dev/null +++ b/examples/opengl/stereoqopenglwidget/main.cpp @@ -0,0 +1,31 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include <QApplication> +#include <QSurfaceFormat> +#include "mainwindow.h" + +int main( int argc, char ** argv ) +{ + QApplication a( argc, argv ); + + QCoreApplication::setApplicationName("Qt QOpenGLWidget Stereoscopic Rendering Example"); + QCoreApplication::setOrganizationName("QtProject"); + QCoreApplication::setApplicationVersion(QT_VERSION_STR); + + //! [1] + QSurfaceFormat format; + format.setDepthBufferSize(24); + format.setStencilBufferSize(8); + + // Enable stereoscopic rendering support + format.setStereo(true); + + QSurfaceFormat::setDefaultFormat(format); + //! [1] + + MainWindow mw; + mw.resize(1280, 720); + mw.show(); + return a.exec(); +} |