summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <[email protected]>2023-03-15 12:11:15 +0100
committerQt Cherry-pick Bot <[email protected]>2023-03-16 11:48:29 +0000
commit0fb68045ef290b56827d58088379d04a20466a21 (patch)
treee54f6322160a39f3dd8bb18886b55660c9aad914
parentd670ce8535d6caaf249b05f422384a68f006ac57 (diff)
Add QOpenGLWindow/Widget doc note about depth/stencil
Fixes: QTBUG-108050 Change-Id: If011d6efff996870ff23eff3c2d1cf455d31b7a6 Reviewed-by: Kristoffer Skau <[email protected]> Reviewed-by: Andy Nichols <[email protected]> (cherry picked from commit 27ab0f012a1099267888ed0e8ab9700efffec0f4) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
-rw-r--r--src/opengl/qopenglwindow.cpp17
-rw-r--r--src/openglwidgets/qopenglwidget.cpp7
2 files changed, 24 insertions, 0 deletions
diff --git a/src/opengl/qopenglwindow.cpp b/src/opengl/qopenglwindow.cpp
index 4c0e9323fa2..3cef97e833f 100644
--- a/src/opengl/qopenglwindow.cpp
+++ b/src/opengl/qopenglwindow.cpp
@@ -60,6 +60,23 @@ QT_BEGIN_NAMESPACE
given OpenGL version and profile, or enabling depth and stencil
buffers.
+ \note It is up to the application to ensure depth and stencil buffers are
+ requested from the underlying windowing system interface. Without requesting
+ a non-zero depth buffer size there is no guarantee that a depth buffer will
+ be available, and as a result depth testing related OpenGL operations may fail
+ to function as expected.
+
+ Commonly used depth and stencil buffer size requests are 24 and 8,
+ respectively. For example, a QOpenGLWindow subclass could do this in its
+ constructor:
+
+ \code
+ QSurfaceFormat format;
+ format.setDepthBufferSize(24);
+ format.setStencilBufferSize(8);
+ setFormat(format);
+ \endcode
+
Unlike QWindow, QOpenGLWindow allows opening a painter on itself and perform
QPainter-based drawing.
diff --git a/src/openglwidgets/qopenglwidget.cpp b/src/openglwidgets/qopenglwidget.cpp
index ad2b461f7e0..bb41b91fbf6 100644
--- a/src/openglwidgets/qopenglwidget.cpp
+++ b/src/openglwidgets/qopenglwidget.cpp
@@ -178,6 +178,13 @@ QT_BEGIN_NAMESPACE
\snippet code/doc_gui_widgets_qopenglwidget.cpp 2
+ \note It is up to the application to ensure depth and stencil buffers are
+ requested from the underlying windowing system interface. Without requesting
+ a non-zero depth buffer size there is no guarantee that a depth buffer will
+ be available, and as a result depth testing related OpenGL operations may
+ fail to function as expected. Commonly used depth and stencil buffer size
+ requests are 24 and 8, respectively.
+
With OpenGL 3.0+ contexts, when portability is not important, the versioned
QOpenGLFunctions variants give easy access to all the modern OpenGL functions
available in a given version: