From be7ebe2d57083905edfc3c607ea8734e3e8cf46e Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Fri, 30 Nov 2012 15:30:42 +0100 Subject: Fix example documentation for OpenGL module and (widget) Tools. Change-Id: Id9dc39752bcae915f618e1a5696115a5e6923251 Reviewed-by: Eskil Abrahamsen Blomfeldt --- examples/opengl/doc/src/2dpainting.qdoc | 1 + examples/opengl/doc/src/cube.qdoc | 2 +- examples/opengl/doc/src/framebufferobject2.qdoc | 1 + examples/opengl/doc/src/grabber.qdoc | 1 + examples/opengl/doc/src/hellogl.qdoc | 1 + examples/opengl/doc/src/hellogl_es.qdoc | 128 ------------------------ examples/opengl/doc/src/overpainting.qdoc | 1 + examples/opengl/doc/src/pbuffers.qdoc | 1 + examples/opengl/doc/src/pbuffers2.qdoc | 1 + examples/opengl/doc/src/samplebuffers.qdoc | 1 + examples/opengl/doc/src/textures.qdoc | 1 + 11 files changed, 10 insertions(+), 129 deletions(-) delete mode 100644 examples/opengl/doc/src/hellogl_es.qdoc (limited to 'examples/opengl') diff --git a/examples/opengl/doc/src/2dpainting.qdoc b/examples/opengl/doc/src/2dpainting.qdoc index 24ff54b7ff..9059852add 100644 --- a/examples/opengl/doc/src/2dpainting.qdoc +++ b/examples/opengl/doc/src/2dpainting.qdoc @@ -28,6 +28,7 @@ /*! \example 2dpainting \title 2D Painting Example + \ingroup examples-widgets-opengl \brief The 2D Painting example shows how QPainter and QGLWidget can be used together to display accelerated 2D graphics on supported hardware. diff --git a/examples/opengl/doc/src/cube.qdoc b/examples/opengl/doc/src/cube.qdoc index 4885c59049..af82f2bb46 100644 --- a/examples/opengl/doc/src/cube.qdoc +++ b/examples/opengl/doc/src/cube.qdoc @@ -27,7 +27,7 @@ /*! \example cube - \group all-examples + \ingroup examples-widgets-opengl \title Cube OpenGL ES 2.0 example \brief The Cube OpenGL ES 2.0 example shows how to write mouse rotateable diff --git a/examples/opengl/doc/src/framebufferobject2.qdoc b/examples/opengl/doc/src/framebufferobject2.qdoc index 96104d41a2..4014760d3e 100644 --- a/examples/opengl/doc/src/framebufferobject2.qdoc +++ b/examples/opengl/doc/src/framebufferobject2.qdoc @@ -29,6 +29,7 @@ \example framebufferobject2 \title Framebuffer Object 2 Example + \ingroup examples-widgets-opengl \brief The Framebuffer Object 2 example demonstrates how to use the QGLFramebufferObject class to render into an off-screen buffer and use the contents as a texture in a QGLWidget. diff --git a/examples/opengl/doc/src/grabber.qdoc b/examples/opengl/doc/src/grabber.qdoc index 5bcf8cc1bd..fa4915c7c9 100644 --- a/examples/opengl/doc/src/grabber.qdoc +++ b/examples/opengl/doc/src/grabber.qdoc @@ -28,6 +28,7 @@ /*! \example grabber \title Grabber Example + \ingroup examples-widgets-opengl \brief The Grabber examples shows how to retrieve the contents of an OpenGL framebuffer. diff --git a/examples/opengl/doc/src/hellogl.qdoc b/examples/opengl/doc/src/hellogl.qdoc index 3d513912c8..440141ef85 100644 --- a/examples/opengl/doc/src/hellogl.qdoc +++ b/examples/opengl/doc/src/hellogl.qdoc @@ -28,6 +28,7 @@ /*! \example hellogl \title Hello GL Example + \ingroup examples-widgets-opengl \brief The Hello GL example demonstrates the basic use of the OpenGL-related classes provided with Qt. diff --git a/examples/opengl/doc/src/hellogl_es.qdoc b/examples/opengl/doc/src/hellogl_es.qdoc deleted file mode 100644 index 6f31178768..0000000000 --- a/examples/opengl/doc/src/hellogl_es.qdoc +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: http://www.gnu.org/copyleft/fdl.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example hellogl_es - \title Hello GL ES Example - - \brief The Hello GL ES example is the \l{Hello GL Example} ported to OpenGL ES. - It also included some effects from the OpenGL \l{Overpainting Example}. - - \image hellogl-es-example.png - - A complete introduction to OpenGL ES and a description of all differences - between OpenGL and OpenGL ES is out of the scope of this document; but - we will describe some of the major issues and differences. - - Since Hello GL ES is a direct port of standard OpenGL code, it is a fairly - good example for porting OpenGL code to OpenGL ES. - - \tableofcontents - - \section1 Using QGLWidget - - QGLWidget can be used for OpenGL ES similar to the way it is used with - standard OpenGL; but there are some differences. We use EGL 1.0 to embedd - the OpenGL ES window within the native window manager. In - QGLWidget::initializeGL() we initialize OpenGL ES. - - \section1 Porting OpenGL to OpenGL ES - - Since OpenGL ES is missing the immediate mode and does not support quads, - we have to create triangle arrays. - - We create a quad by adding vertices to a QList of vertices. We create both - sides of the quad and hardcode a distance of 0.05f. We also compute the - correct normal for each face and store them in another QList. - - \snippet hellogl_es/glwidget.cpp 0 - - And then we convert the complete list of vertexes and the list of normals - into the native OpenGL ES format that we can use with the OpenGL ES API. - - \snippet hellogl_es/glwidget.cpp 1 - - In \c paintQtLogo() we draw the triangle array using OpenGL ES. We use - q_vertexTypeEnum to abstract the fact that our vertex and normal arrays - are either in float or in fixed point format. - - \snippet hellogl_es/glwidget.cpp 2 - - \section1 Using QGLPainter - - Since the \c QGLPainter is slower for OpenGL ES we paint the bubbles with - the rasterizer and cache them in a QImage. This happends only once during - the initialiazation. - - \snippet hellogl_es/bubble.cpp 0 - - For each bubble this QImage is then drawn to the QGLWidget by using the - according QPainter with transparency enabled. - - \snippet hellogl_es/bubble.cpp 1 - - Another difference beetwen OpenGL and OpenGL ES is that OpenGL ES does not - support glPushAttrib(GL_ALL_ATTRIB_BITS). So we have to restore all the - OpenGL states ourselves, after we created the QPainter in - GLWidget::paintGL(). - - \snippet hellogl_es/glwidget.cpp 3 - - Setting up up the model view matrix and setting the right OpenGL states is - done in the same way as for standard OpenGL. - - \snippet hellogl_es/glwidget.cpp 4 - - Now we have to restore the OpenGL state for the QPainter. This is not done - automatically for OpenGL ES. - - \snippet hellogl_es/glwidget.cpp 5 - - Now we use the QPainter to draw the transparent bubbles. - - \snippet hellogl_es/glwidget.cpp 6 - - In the end, we calculate the framerate and display it using the QPainter - again. - - \snippet hellogl_es/glwidget.cpp 7 - - After we finished all the drawing operations we swap the screen buffer. - - \snippet hellogl_es/glwidget.cpp 8 - - \section1 Summary - - Similar to the \l{Hello GL Example}, we subclass QGLWidget to render - a 3D scene using OpenGL ES calls. QGLWidget is a subclass of QWidget. - Hence, its \l{QGLWidget}'s subclasses can be placed in layouts and - provided with interactive features just like normal custom widgets. - - QGLWidget allows pure OpenGL ES rendering to be mixed with QPainter calls, - but care must be taken to maintain the state of the OpenGL ES - implementation. -*/ diff --git a/examples/opengl/doc/src/overpainting.qdoc b/examples/opengl/doc/src/overpainting.qdoc index 22ae4f874d..6a9be3d361 100644 --- a/examples/opengl/doc/src/overpainting.qdoc +++ b/examples/opengl/doc/src/overpainting.qdoc @@ -29,6 +29,7 @@ \example overpainting \title Overpainting Example + \ingroup examples-widgets-opengl \brief The Overpainting example shows how QPainter can be used to overpaint a scene rendered using OpenGL in a QGLWidget. diff --git a/examples/opengl/doc/src/pbuffers.qdoc b/examples/opengl/doc/src/pbuffers.qdoc index 29f5b3c891..7994c59373 100644 --- a/examples/opengl/doc/src/pbuffers.qdoc +++ b/examples/opengl/doc/src/pbuffers.qdoc @@ -29,6 +29,7 @@ \example pbuffers \title Pixel Buffers Example + \ingroup examples-widgets-opengl \brief The Pixel Buffers example demonstrates how to use the QGLPixelBuffer class to render into an off-screen buffer and use the contents as a dynamic texture in a QGLWidget. diff --git a/examples/opengl/doc/src/pbuffers2.qdoc b/examples/opengl/doc/src/pbuffers2.qdoc index 975feb5f0d..20a8de6caa 100644 --- a/examples/opengl/doc/src/pbuffers2.qdoc +++ b/examples/opengl/doc/src/pbuffers2.qdoc @@ -29,6 +29,7 @@ \example pbuffers2 \title Pixel Buffers 2 Example + \ingroup examples-widgets-opengl \brief The Pixel Buffers 2 example demonstrates how to use the QGLPixelBuffer class to render into an off-screen buffer and use the contents as a dynamic texture in a QGLWidget. diff --git a/examples/opengl/doc/src/samplebuffers.qdoc b/examples/opengl/doc/src/samplebuffers.qdoc index 7891b71acc..d20a36860c 100644 --- a/examples/opengl/doc/src/samplebuffers.qdoc +++ b/examples/opengl/doc/src/samplebuffers.qdoc @@ -29,6 +29,7 @@ \example samplebuffers \title Sample Buffers Example + \ingroup examples-widgets-opengl \brief The Sample Buffers example demonstrates how to use and enable sample buffers in a QGLWidget. diff --git a/examples/opengl/doc/src/textures.qdoc b/examples/opengl/doc/src/textures.qdoc index 390272ac9c..6fdcbfc598 100644 --- a/examples/opengl/doc/src/textures.qdoc +++ b/examples/opengl/doc/src/textures.qdoc @@ -28,6 +28,7 @@ /*! \example textures \title Textures Example + \ingroup examples-widgets-opengl \brief The Textures example demonstrates the use of Qt's image classes as textures in applications that use both OpenGL and Qt to display graphics. -- cgit v1.2.3