MacOSでQOpenGLDebugLogger機能を使用したいと考えています。私はので、ここで特定のQOpenGLContextを作成しなければならなかったことを理解MacOSでQOpenGLDebugLoggerを使用する
は私のカスタムQOpenGLWidgetクラスのコンストラクタで私のコードです:
QSurfaceFormat format;
format.setMajorVersion(3);
format.setMinorVersion(2);
format.setOption(QSurfaceFormat::DebugContext);
format.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(format);
は残念ながら、それは私が作成した現在のコンテキストには影響を与えませんQOpenGLWidget。
qDebug() << QOpenGLContext::currentContext()->hasExtension(QByteArrayLiteral("GL_KHR_debug"));
は私がQOpenGLContextバージョンが2.1であることを常にらしいことに気づいた:私のinitializeGLに次のコードは、()オーバーライドメソッドはfalseを出力し
qDebug() << QOpenGLContext::currentContext()->format().majorVersion() << QOpenGLContext::currentContext()->format().minorVersion();
任意のアイデアなぜ設定コンストラクタの形式は何の効果もありませんか?
は、私が最初にそれは私がちょうど編集をした成功 –
せずにMacOSのデスクトップのOpenGLで動作させるためにしようとしているだろう! –
[ここで(3番目のコードブロック)](http://doc.qt.io/qt-5/qopenglwidget.html#)のように、 'QSurfaceFormat :: setDefaultFormat'ではなく' QOpenGLWidget'の 'setFormat'を呼び出そうとしましたか?詳細) – BDL