summaryrefslogtreecommitdiffstats
path: root/examples/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Use qtConfig throughout in qtbaseLars Knoll2016-08-198-8/+8
| | | | | | | | | | | Use the new qtConfig macro in all pro/pri files. This required adding some feature entries, and adding {private,public}Feature to every referenced already existing entry. Change-Id: I164214dad1154df6ad84e86d99ed14994ef97cf4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.7' into devEdward Welbourne2016-07-191-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakebuiltins.cpp qmake/library/qmakeevaluator.cpp qmake/library/qmakeevaluator.h qmake/project.h QMakeEvaluator: * evaluateConditional(): one side changed return type, the other changed a parameter type. * split_value_list(): one side changed a parameter adjacent to where ... * expandVariableReferences(): ... the other killed one overload and changed the survivor src/corelib/io/qlockfile_unix.cpp One side changed a #if condition, the other moved NETBSD's part of what it controlled. src/corelib/tools/qdatetime.cpp One side fixed a reachable Q_UNREACHABLE in toMSecsSinceEpoch(), the other moved it from the private class to the public one, in the midst of the "short date-time" optimization, which confused diff entirely. One side changed a QStringLiteral to QLatin1String, the other rewrote adjoining code. src/network/kernel/qauthenticator.cpp Both rewrote a line, equivalently; kept the dev version. src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h One side changed #if-ery that the other removed. tools/configure/configureapp.cpp One side added a check to -target parsing; the other killed -target. tests/auto/testlib/selftests/expected_cmptest.lightxml tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/testlib/selftests/expected_cmptest.xml tests/auto/testlib/selftests/expected_cmptest.xunitxml Regenerated using generate_expected_output.py I note that quite a few other expected_* come out changed, now. There was no git-conflict in src/widgets/kernel/qformlayout.cpp but it didn't compile; one side removed some unused methods; the other found uses for one of them. Put FixedColumnMatrix<>::removeRow(int) back for its new user. Change-Id: I8cc2a71add48c0a848e13cfc47b5a7754e8ca584
| * QDateTime: use the more efficient currentMSecsSinceEpoch()Thiago Macieira2016-07-021-1/+1
| | | | | | | | | | | | | | ... instead of creating a QDateTime object. Change-Id: Ib57b52598e2f452985e9fffd145a36911de4fa9a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Examples: Replace 'Q_DECL_OVERRIDE' by 'override'hjk2016-06-1519-71/+71
|/ | | | | | | | Examples should demonstrate best practice, and we can use the keyword directly nowadays. Change-Id: I1f122e5caceca17290757ffbaf3d660e7daa9ae4 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-061-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf config.tests/unix/nis/nis.cpp mkspecs/unsupported/freebsd-g++/qplatformdefs.h src/corelib/tools/qdatetime.cpp src/corelib/tools/qsimd.cpp src/corelib/tools/qsimd_p.h src/network/access/access.pri src/network/access/qnetworkreplynsurlconnectionimpl.mm src/network/access/qnetworkreplynsurlconnectionimpl_p.h src/plugins/platforms/cocoa/qnsview.mm src/plugins/printsupport/windows/qwindowsprintdevice.cpp tests/auto/corelib/kernel/qobject/tst_qobject.cpp tests/auto/network/access/qnetworkreply/BLACKLIST tests/auto/widgets/widgets/qopenglwidget/BLACKLIST Change-Id: I4b32055bbf922392ef0264fd403405416fffee57
| * OpenGL legacy example: Fix compilation in namespaced builds.Friedemann Kleint2016-05-271-1/+2
| | | | | | | | | | | | | | Change-Id: I6b2f3e8c240e105c73008fa61f9ed50cc9d982ac Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-062-0/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/qtestlib/tutorial5/containers.cpp examples/widgets/tools/tools.pro src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/network/kernel/qdnslookup_unix.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp tools/configure/configureapp.cpp Change-Id: I838ae7f082535a67a4a53aa13a21ba5580758be8
| * fix example installsOswald Buddenhagen2016-05-031-0/+4
| | | | | | | | | | Change-Id: Ib34795f10b1d7120b28958127ced049af3b4f72b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * install the opengl legacy examplesOswald Buddenhagen2016-05-031-0/+3
| | | | | | | | | | | | | | | | while they are not built, their sources should be installed as long we don't delete them completely. Change-Id: I5e628e96cc9715520cb6e5aadb2cae61d1d03a4f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-272-0/+29
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_win.cpp src/widgets/itemviews/qheaderview.cpp Change-Id: I0a59ade9cd6e91f770fdf298a7d72a41e79fd761
| * OpenGL/contextinfo-Example: Add command line options and status label.Friedemann Kleint2016-04-232-0/+29
| | | | | | | | | | | | | | | | | | | | Add command line options to be able to set the QCoreApplication attributes that influence Open GL context creation and add a status label at the bottom that displays it besides the QT_OPENGL environment variable. Task-number: QTBUG-52693 Change-Id: Id9793292596e0feb3da5220fde2e5b2e495f87ff Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Unify license header usage.Jani Heikkinen2016-03-2992-284/+1164
|/ | | | | | | | | Update files using old header.LGPL3 to header.LGPL Update files using old FDL template to use new one Update files using old BSD template to use new one Change-Id: I36a78272516f9953d02956522f285b40adfc8915 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Doc: Replaced Trolltech logo with Qt logoNico Vertriest2016-02-031-0/+0
| | | | | | Task-number: QTBUG-37505 Change-Id: If59039b2f7e60ffea3e8c7803d38e528acf35383 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Examples/Doc snippets: Fix single-character string literals.Friedemann Kleint2015-10-131-1/+1
| | | | | | | Use character literals where applicable. Change-Id: I79fa5018f05735201ae35ee94ba0d356fcad1056 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fix up QOpenGLWidget transparency supportLaszlo Agocs2015-09-242-2/+9
| | | | | | | | | | | | | | | The glColorMask call was troublesome. In addition, the Qt::WA_TranslucentBackground was misinterpreted and recommended misleadingly in the documentation. The hellogl2 example's --transparent argument was disfunctional in practice. Replace glColorMask with glBlendFuncSeparate. The hellogl2 example and the docs are now corrected wrt enabling semi-transparency in a QOpenGLWidget that is not a top-level (which is the most common case). Task-number: QTBUG-47276 Change-Id: I6f40e732d455f5efcf158649ac9a52ff9f240e85 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Port examples/opengl to new connection syntax.Friedemann Kleint2015-09-029-37/+38
| | | | | Change-Id: I486a4a2326bf57ec5ea08bccdcef79c3e5553db5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Compile in namespaced buildsSean Harmer2015-08-311-0/+4
| | | | | Change-Id: I2894fbadec50286c0831bf381d149b54ade9182d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Make the gles3 example more impressivePaul Olav Tvete2015-07-246-144/+84
| | | | | | | | | | Add some extra rotations and offsets, to show off the power of what you can do with a single draw call. Also use QGLWindow instead of QGLWidget. This improves performance from 23 FPS to 30 FPS on a 4k monitor with integrated Intel graphics. Change-Id: Iedac1c14cc6057959aa15faaacdf29da91f36ab1 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Expose GLES 3.0 and 3.1 functionsLaszlo Agocs2015-07-239-1/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the approach we already do for some GLES 3.0 functions we can provide a cross-platform, cross-GL-GLES wrapper for ES 3.0 and 3.1 functions too. Applications only have to take extra care about the version requests (context version and version directives in shader code), the rest of their code can stay the same across desktop/mobile/embedded, even when ES 3 functions are used. The new functions are placed to a new subclass which is placed between QOpenGLFunctions and the internal QOpenGLExtensions. This is necessary because, unlike with QOpenGLFunctions, there is no guarantee that these functions are always available in all configurations. When running on desktop OpenGL, we resolve as usual. If the OpenGL version contains the function in question, either in core or as an extension, it will all just work. This is handy because it does not rely on 4.x extensions like GL_ARB_ESx_compatibility, and so ES 3.0 functions will be functional on OpenGL 3.x systems too by just setting a 3.x version number in the QSurfaceFormat. We will no longer qFatal on broken systems where the driver returns a 3.0 or 3.1 context without the corresponding functions present. Instead, we show a warning and gracefully fall back to resolving as usual, via eglGetProcAddress or similar. For functions that are available in ES2 as an extension this may just work fine. Added also an example that runs identically both with OpenGL and OpenGL ES 3 and utilizes some ES 3.0 features like instanced drawing. [ChangeLog] Added QOpenGLExtraFunctions providing OpenGL ES 3.0 and 3.1 function wrappers in a cross-platform manner. Task-number: QTBUG-46161 Change-Id: I9f929eb61946c35c415b178c4d6ab2c1c958684e Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * fix usage of wince scopeOswald Buddenhagen2015-06-051-3/+4
| | | | | | | | | | | | | | Fix style issues along the way. Change-Id: Ic6a6de28e198eb0b14c198b802e78845703909b9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Updated Hello GL2 Example to new Signal/Slot syntaxBenjamin Summerton2015-06-292-8/+8
|/ | | | | | | | | The Hello GL2 Example was using the older Signal/Slot syntax that made use of the macros `SIGNAL()` and `SLOT()`. I changed it to the newer one. Change-Id: I8e55015383847a04b07f751fe9fc94b81956a896 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Clip QOpenGLWidget and QQuickWidget correctlyLaszlo Agocs2015-06-013-7/+21
| | | | | | | | | | | | | Introduce support for the widgets' clipRect(). Right now render-to-texture widgets in scroll areas placed close to each other result in broken (non-existent) clipping. Similarly, stack-on-top widgets fail to clip when placed inside a scroll area. This is now corrected and the qopenglwidget example is enhanced to utilize a scroll area. Task-number: QTBUG-45860 Change-Id: I859a63d61a50d64ba9e87244f83c5969dce12337 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Make OpenGL legacy examples hellogl and overpainting work with Dynamic GL.Friedemann Kleint2015-05-238-25/+33
| | | | | | | | Call GL functions using QOpenGLFunctions_1_1. Task-number: QTBUG-46103 Change-Id: I1cbacf9c192c17d96d96aa861bb16e2918a0c053 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix exclusion for legacy Open GL examples.Friedemann Kleint2015-05-157-35/+7
| | | | | | | | | Add dynamic GL and remove warning about ANGLE since that package no longer exists. Task-number: QTBUG-46103 Change-Id: Icf93d1105434395a3c9ad61bb8c921fcedfc7137 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Set correct target.path for legacy GL examplesMorten Johan Sørvig2015-05-147-7/+7
| | | | | | | | | | | | Fix Library not loaded/image not found error on application startup. With @rpath enabled (commit 6e18f57a) qmake now requires a correct target.path in order to emit correct -rpath @loader_path linker directives. Change-Id: Ia32b038ad2d64819477be5cd9d1ed36768e2251b Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Add OpenGL 4.5 to contextinfo exampleLaszlo Agocs2015-03-201-1/+2
| | | | | Change-Id: I6f6c5b55769fd818aaf94580246952a574124c0d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Updated BSD licensed file headersJani Heikkinen2015-02-1585-255/+255
| | | | | Change-Id: I6441ff931dbd33b698d762e6f6784898f3f60fe7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1189-449/+449
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* QOpenGLWindow example: Remove unused codeKai Koehne2015-01-131-2/+1
| | | | | Change-Id: Ide47a9edf726298b2032e45d6865511801f94fcb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix a couple of bugs in the QOpenGLWindow exampleJørgen Lind2015-01-103-12/+18
| | | | | | | Also make the fragment shader a bit simpler Change-Id: Ie50940da0a4f896504c9f5962cdb6c455983302f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-242-0/+0
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice.cpp src/plugins/bearer/linux_common/qofonoservice_linux.cpp src/plugins/bearer/linux_common/qofonoservice_linux_p.h src/plugins/platforms/android/qandroidplatformtheme.cpp src/tools/bootstrap/bootstrap.pro src/widgets/styles/qmacstyle_mac.mm Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
| * New Qt logoAlessandro Portale2014-11-052-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces the old Qt logo with the new, flatter one. The PNGs were optimized via: optipng -o7 -strip "all" Task-number: QTBUG-41685 Change-Id: I51983a45144373bf7aee31a32990ecbb2582f488 Reviewed-by: Robert Loehning <robert.loehning@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-271-14/+19
|\| | | | | | | | | | | | | Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
| * Further restrict the threaded opengl exampleLaszlo Agocs2014-10-231-14/+19
| | | | | | | | | | | | | | | | Mesa llvmpipe (e.g. the opengl32sw.dll we are shipping) cannot handle threading either. Change-Id: Id822736c4a9eef39e56776dcd1f398fc31ebc0f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-204-13/+39
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * Remove unused variable in opengl examplesLaszlo Agocs2014-10-201-2/+0
| | | | | | | | | | | | | | To avoid warnings with some compilers Change-Id: Iabe4f38c0bee29ab17149120d12ce198b49547c8 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Improve threadedqopenglwidget example.Friedemann Kleint2014-10-103-11/+39
| | | | | | | | | | | | | | | | | | Retrieve vendor/renderer name similar to context info and exclude renderers that do not support threaded Open GL (ANGLE/noveau). Change-Id: I690c2fc277538bf28bf1f6032c2e017ede15e434 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Make hellowindow multi display capable on embeddedLaszlo Agocs2014-10-163-8/+30
|/ | | | | | | | | | | | | | | | | Platforms like eglfs allow a single window per screen. Thus the behavior of --multiple is not suitable since it tries to open multiple windows on the primary screen. Instead, introduce --multiscreen. Add also --timeout to quit the app after 10 seconds. This is essential on platforms that do not have windows with decorations that can be used to close windows. With eglfs' kms/drm hooks, starting with --multiscreen will now show a rotating logo on all connected displays, with some random background color. Change-Id: I53f2651f05620e752c289038a9b3ff4508273173 Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Doc: Use title case in section1 titlesNico Vertriest2014-09-301-3/+3
| | | | | | | | Using Python script title-cased.py Task-number: QTBUG-41250 Change-Id: I00d3d7a0b30db7304a7904efd6d63abd9a7b493b Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Make qopenglwidget example functional without timers tooLaszlo Agocs2014-09-303-1/+34
| | | | | Change-Id: I6a89eaf794202c45a5ad3152d304e46041704730 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* hellowindow: Set all the state for each frameLaszlo Agocs2014-09-041-12/+15
| | | | | | | | | | | Trying to be smart and minimizing the amount of GL calls per frame to provide a good example was a mistake (in a way): There are components, like the eglfs mouse cursor, that change the context state. To make sure the example work in these cases, set the state upon each frame. Change-Id: Ief1fd7bbb0fb1955a64dac97a071b7a3d9d506d4 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Use QMenuBar::addMenu in the qopenglwidget exampleLaszlo Agocs2014-08-251-6/+3
| | | | | | | | | | Like in all other places. This way the resulting QMenu is correctly parented so it will show up at the proper position even on platforms which do not have a way to position top-level windows. Task-number: QTBUG-29025 Change-Id: I2aa6fe73699379029c44a3f379366a2133753190 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Set a size in qopenglwindow exampleLaszlo Agocs2014-08-241-1/+1
| | | | | | | | Use showMaximized(). Just calling show() without setting a size can result in a zero-sized, invisible window on some platforms. Change-Id: Ifa48258060e3d651c2fac3a1409a26a2c3db6bdb Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Avoid transparency in qopenglwindow exampleLaszlo Agocs2014-08-142-2/+3
| | | | | | | | | On systems that give alpha configs by default writing alpha values of less than 1.0 is a bad idea since it will lead to the content behind the window becoming visible, even though this is not the example's intention. Change-Id: I23cdfc1fb78d77b1cbc192d2aba5d6665a7acfcc Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Fix composition for windows with alphaLaszlo Agocs2014-08-132-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | While we will cover the entire surface with our textured quads, the clear is still necessary in order to make top-levels with TranslucentBackground render correctly: We don't want to blend transparent areas with undefined content that is in the surface's framebuffer. Blending is problematic for alpha values. We now prevent the blended alpha from being written out. This ensures that in examples like qquickviewcomparison, where the backingstore image contains an alpha of 0.5 while the QQuickWidget texture 1.0, the result is still an alpha value of 1.0 in the final image. Writing out an alpha of 0.5 would break on systems where windows get an alpha buffer by default. hellogl2 can now take a --transparent parameter which makes the QOpenGLWidget being cleared to transparent in order to verify it works in combination with Qt::WA_TranslucentBackground. The swapped red and blue problem is also corrected. RGBA8888 does not need swizzling. The only format that needs this is RGB32. Task-number: QTBUG-40716 Change-Id: I54a9fd3a91a1b59575b38cdb908835315514e40f Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Modernize the OpenGL examplesLaszlo Agocs2014-08-12103-1163/+1595
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change them to use QOpenGLWidget and QOpenGLTexture. Advocate also the usage of VBOs. Hopeless examples, that rely on the fixed pipeline and will not compile or work in ES and dynamic builds, are moved to a "legacy" directory. The documentation pages for these are removed. This long due change avoids the confusion newcomers experience when trying to get started with Qt 5 and OpenGL. hellowindow's behavior is changed to open a single window only by default. The old default behavior, that opened three windows on platforms that supported both MultipleWindows & ThreadedOpenGL, can be requested by passing --multiple. --single is removed since it is the default now. This plays much nicer with drivers that have issues with threading. In addition, say hello to hellogl2. This is the old hellogl example updated to use QOpenGLWidget and OpenGL 2. It also has a mainwindow with multiple (un)dockable widgets containing the OpenGL widgets. This helps testing the behavior when the top-level of the QOpenGLWidget changes and provides a very important example of how to do proper resource management in this case. (must use aboutToBeDestroyed() of the context, since the context goes away and is replaced by a new one on every dock/undock) As a bonus, the logo is now real 3D, no more orthographic nonsense. Launch with --multisample to request 4x MSAA. Launch with --coreprofile to request 3.2 Core. In this particular example the shaders are present in both versions and there is a VAO so the application is functional with core profile contexts. Change-Id: Id780a80cb0708ef164cc172450ed74050f065596 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Clean up the QOpenGLWindow exampleLaszlo Agocs2014-08-073-82/+116
| | | | | | | | | 1. Use includes without module prefixes, as is the custom in examples. 2. No inline functions to make it more readable. 3. Pause animation on pressing P and document our signal connection a bit more. Change-Id: I68dc3d4c74b639cf3fec17b63b7f49626db58bdb Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Add missing precision qualifiers in qopenglwindow exampleLaszlo Agocs2014-08-071-6/+6
| | | | | | | Make GLES implementations happy. Change-Id: Ib389e379f23794eee0fa71ca26b863e56cee662e Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Introduce QOpenGLWindowLaszlo Agocs2014-08-057-2/+486
| | | | | | | | | | | [ChangeLog] Added QOpenGLWindow. This serves as a convenience class for creating windows showing OpenGL content via an API similar to QGLWidget and without any widget dependencies. Done-with: Jorgen Lind <jorgen.lind@digia.com> Task-number: QTBUG-36899 Change-Id: I52e9bc61acb129dbfd3841b3adeffab2dbcf7f05 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>