blob: a4f3fb46649d7092cfbc96e32a28bbe8bcf7d575 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\title QQuickRenderControl OpenGL Example
\example rendercontrol/rendercontrol_opengl
\brief Shows how to render a Qt Quick scene into a texture that is then used by a non-Quick based OpenGL renderer.
\image rendercontrol-opengl-example.jpg
The Qt Quick scene is managed by a QQuickWindow that is not visible
on-screen. Rather, rendering targets an OpenGL texture and is controlled
through QQuickRenderControl.
The cube is rendered directly with OpenGL, using Qt Gui enablers such as
QWindow, QOpenGLContext, QOpenGLShaderProgram, and QOpenGLFunctions. The
cube is textured with the texture that the Qt Quick render pass outputs to.
In addition, basic input event forwarding is also demonstrated. When holding
down the left mouse button, the background \l Rectangle color is altered via
QML bindings. Similarly, holding down a key on the keyboard changes the
color as well. This proves that the "fake" events sent from the application
(generated based on events from the on-screen QWindow) are forwarded and
processed within the Qt Quick scene.
*/
|