если возможно, чтобы несколько QGLWidget совместно использовали один контекст openGL?
Теперь на этот вопрос вообще невозможно ответить, потому что это зависит от рассматриваемой платформы: на X11 / GLX действительно возможно использовать косвенный контекст для нескольких рисованных объектов, однако контекст может быть активен только для одного нарисованного в время.
Однако:
Также возможно (и это рекомендуемый способ сделать это), чтобы несколько контекстов обменивались своими данными. В самых первых версиях OpenGL это были только списки отображения, поэтому это все еще называлось совместным использованием списков. Но в текущих версиях OpenGL это также включает текстуры, объекты Pixel Buffer и объекты Vertex Buffer. Однако объекты Frame Buffer нельзя использовать совместно, но поскольку текстуры могут использоваться в качестве вложений FBO, в этом нет ничего сложного.
QGLWidget предоставляет простой API для обмена контекстными данными между контекстами QGLWidgests.