In order to deprecate the opengl module, we need a replacement for QGLWidget. The current plan is to replicate the QGLWidget API as much as possible in QOpenGLWidget, and also in QOpenGLWindow.
The argument for having two separate classes is that QOpenGLWidget will need extra overhead to support seamless interaction with overlapping child and sibling widgets. Also, QOpenGLWindow will not depend on QtWidgets.
There is a preliminary QOpenGLWidget as private API in Qt 5.3, but that is missing a range of features, notably:
- Depth/stencil buffers
- painting using the GL2 paint engine
- QGLContext/QGLWidget utility functions like bindTexture, drawTexture and renderText may not be necessary, but in that case we need to provide some QOpenGLWidget-based example that shows how to perform these things (this should be a separate task)