bambooflow Note

バージョンの確認

最終更新:

bambooflow

- view
メンバー限定 登録/ログイン

QtでOpenGL:バージョンの確認



QGLForamtを使う

Qt上で動作するOpenGLのバージョンを確認するには、
QGLFormat::openGLVersionFlags
を使います。



#include <QtGui/QApplication>
#include <QtGui/QMessageBox>
#include <QtOpenGL/QGLFormat>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    if ((QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_5) == 0) {
        QMessageBox::critical(0, "OpenGL features missing",
            "OpenGL version 1.5 or higher is required.\n"
            "The program will now exit.");
        return -1;
    }
 
    // nothing.
 
    return a.exec();
}
 


glGetStringで確認


OpenGLの機能であるglGetStringを使います。

#include <QDebug>
 
void GLWidget::initializeGL()
{
    qDebug() << "OpenGL Ver. : " << (const char*)(glGetString(GL_VERSION));
    qDebug() << "Shader Ver. : " << (const char*)(glGetString(GL_SHADING_LANGUAGE_VERSION));
    qDebug() << "Vendor      : " << (const char*)(glGetString(GL_VENDOR));
    qDebug() << "GPU         : " << (const char*)(glGetString(GL_RENDERER));
}
 

例)
OpenGL Ver. : 3.3.0
Shader Ver. : 3.30 NVIDIA via Cg compiler
Vendor : NVIDIA Corporation
GPU : GeForce GTX 260/PCI/SSE2

initializeGLで記述しているのは、コンストラクタで使おうとすると何も返ってこないからです。

タグ:

Qt OpenGL
記事メニュー
目安箱バナー