0

古いopenGLコード(イミディエイトモード)をVertext-Buffer-Objectsに移行中です。これには、OpenGL3 API呼び出し(GL_ARB_vertex_buffer_object)を使用する必要があることに気付きました。そのため、拡張機能の読み込みライブラリとしてGLEWを使用する予定でした。

私の質問は、OpenGL3 contexTのQGLWidgetを初期化する特別な方法はありますか?

4

1 に答える 1

2

「OpenGL3コンテキスト」とはどういう意味ですか?

通常のコンテキスト作成により、バージョン3.1以降のOpenGLサポートを取得できます。ここで、コア仕様を実装するコアOpenGLコンテキストが必要な場合は、少し作業を行う必要があります。

互換性のコンテキストは完全に問題ないことに注意してください。それでも、コアコンテキストが実行するすべてのことを実行します。バッファオブジェクトを使用するために、次のいずれかを実行する必要はありません

ああ、そしてバッファオブジェクトはもう拡張機能ではありません。に表示される拡張関数ではなく、コア関数を使用してくださいGL_ARB_vertex_buffer_object

注:以下はQT4.7以降用です。

少なくとも半ば精通している必要がありますQGLFormat; を作成するには1つ必要ですQGLWidgetQGLFormat::setProfileそのオブジェクトを。で呼び出すだけQGLFormat::CoreProfileです。

残念ながら、QTでは特定のバージョンを指定できません。ただし、ハードウェアがOpenGL 3.2以降を実装していると仮定すると、コアOpenGLプロファイルを取得するにはこれで十分です。

于 2011-08-29T05:13:30.080 に答える