#include #include #include #include #include #include #include #include #include class GLWidget : public QOpenGLWidget { public: GLWidget(QWidget *parent = NULL) : QOpenGLWidget(parent) { } protected: void GLWidget::initializeGL() { glDisable(GL_TEXTURE_2D); glDisable(GL_DEPTH_TEST); glDisable(GL_COLOR_MATERIAL); glEnable(GL_BLEND); glEnable(GL_POLYGON_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glClearColor(0, 0, 0, 0); GLboolean gbStereoEnabled = GL_FALSE; glGetBooleanv(GL_STEREO, &gbStereoEnabled); qDebug() << "initializeGL: glGetBooleanv(GL_STEREO) returned" << ((gbStereoEnabled != GL_FALSE) ? "TRUE" : "FALSE"); } void GLWidget::resizeGL(int w, int h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, w, 0, h); // set origin to bottom left corner glMatrixMode(GL_MODELVIEW); glLoadIdentity(); GLboolean gbStereoEnabled = GL_FALSE; glGetBooleanv(GL_STEREO, &gbStereoEnabled); qDebug() << "resizeGL: glGetBooleanv(GL_STEREO) returned" << ((gbStereoEnabled != GL_FALSE) ? "TRUE" : "FALSE"); } void GLWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1, 0, 0); glBegin(GL_POLYGON); glVertex2f(0, 0); glVertex2f(100, 500); glVertex2f(500, 100); glEnd(); GLboolean gbStereoEnabled = GL_FALSE; glGetBooleanv(GL_STEREO, &gbStereoEnabled); qDebug() << "paintGL: glGetBooleanv(GL_STEREO) returned" << ((gbStereoEnabled != GL_FALSE) ? "TRUE" : "FALSE"); } }; int main(int argc, char** argv) { QApplication app(argc, argv); QSurfaceFormat stereoFormat = QSurfaceFormat::defaultFormat(); stereoFormat.setStereo(true); qDebug() << QT_VERSION_STR << "QSurfaceFormat::stereo for default=" << stereoFormat.stereo(); QSurfaceFormat::setDefaultFormat(stereoFormat); stereoFormat.setStereo(true); qDebug() << "QSurfaceFormat::stereo" << stereoFormat.stereo(); GLWidget window; window.setFormat(stereoFormat); window.setWindowTitle(QT_VERSION_STR); window.show(); GLboolean gbStereoEnabled = GL_FALSE; QApplication::processEvents(); glGetBooleanv(GL_STEREO, &gbStereoEnabled); qDebug() << "main: glGetBooleanv(GL_STEREO) returned" << ((gbStereoEnabled != GL_FALSE) ? "TRUE" : "FALSE"); return app.exec(); }