OpenGL 4.1 Release date: July 26, 2010
Full API compatibility with
OpenGL 4.3 Release date: August 6, 2012
- leveraging GPU parallelism within the context of the graphics pipeline
- Shader storage buffer objects, allowing shaders to read and write buffer objects like image load/store from 4.2, but through the language rather than function calls.
- Image format parameter queries
- texture compression as a standard feature
- Full compatibility with APIs
- Debug abilities to receive debugging messages during application development
- Texture views to interpret textures in different ways without data replication
- Increased memory security and multi-application robustness
Hardware support: Nvidia and newer, AMD and newer, in Intel processors and newer.
OpenGL 4.5 Release date: August 11, 2014
- OpenGL ES 3.1 API and shader compatibility – to enable the easy development and execution of the latest OpenGL ES applications on desktop systems.
Hardware support: Nvidia and newer, AMD and newer, in Intel processors and newer, , and Tegra X1.
QT opengl
To summarize which API wrapper to use and when, let’s go through the possible options:
- QOpenGLFunctions – The number one choice, unless OpenGL 3/4.x features are desired and the world outside the traditional desktop platforms is not interesting to the application. Cross-platform applications intending to run on the widest possible range of systems are encouraged to to stick to this one, unless they are prepared to guard the usage of OpenGL features not in this class with appropriate runtime checks. QOpenGLFunctions is also what Qt Quick and various other parts of Qt use internally.
- QOpenGLExtraFunctions – Use it in addition to QOpenGLFunctions whenever OpenGL ES 3.0 and 3.1 features are needed.
- Versioned wrappers (QOpenGLFunctions_N_M_profile) – When an OpenGL 3/4.x core or compatibility profile is needed and targeting OpenGL ES based systems is not desired at all.
OpenGL ES 3.0
Supported by:
- Android since version 4.3, on devices with appropriate hardware and drivers, including:
- /
- (Snapdragon version)
- /ZL
- iOS since version 7, on devices including:
- BlackBerry 10 OS since version 10.2, on devices including:
Supported by some recent versions of these GPUs:
- 300 and 400 series (, , , )
- T600 series onwards (Android, , 7)
- Series6 (, Linux)
- (Android, 10.8.3, Windows 7)
- (Android, Linux, Windows 7)
- (Linux)
https://blog.qt.io/blog/2015/09/09/cross-platform-opengl-es-3-apps-with-qt-5-6/
https://en.wikipedia.org/wiki/OpenGL#OpenGL_4.5
Vulkan
GLES 3.1