Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #include <QGuiApplication>
++ #include <QSurfaceFormat>
++ #include <QOpenGLContext>
++
++ #include "glwindow.h"
++
++ // This example demonstrates easy, cross-platform usage of OpenGL ES 3.0 functions via
++ // QOpenGLExtraFunctions in an application that works identically on desktop platforms
++ // with OpenGL 3.3 and mobile/embedded devices with OpenGL ES 3.0.
++
++ // The code is always the same, with the exception of two places: (1) the OpenGL context
++ // creation has to have a sufficiently high version number for the features that are in
++ // use, and (2) the shader code's version directive is different.
++
++ int main(int argc, char *argv[])
++ {
++ QGuiApplication app(argc, argv);
++
++ QSurfaceFormat fmt;
++ fmt.setDepthBufferSize(24);
++
++ // Request OpenGL 3.3 core or OpenGL ES 3.0.
++ if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGL) {
++ qDebug("Requesting 3.3 core context");
++ fmt.setVersion(3, 3);
++ fmt.setProfile(QSurfaceFormat::CoreProfile);
++ } else {
++ qDebug("Requesting 3.0 context");
++ fmt.setVersion(3, 0);
++ }
++
++ QSurfaceFormat::setDefaultFormat(fmt);
++
++ GLWindow glWindow;
++ glWindow.showMaximized();
++
++ return app.exec();
++ }