私はLinuxでopenglプログラミングを少し演奏していますが、疑問があります。OpenGLヘッダーファイルのバージョン情報の不一致
OpenGLのバージョン文字列:2.1メサ7.11
私はこれが私のシステムサポートのOpenGL 2.1は、メサの実装を使用していることを意味を推測
glxinfoは、OpenGLのバージョンについては、以下の私に与えます。
#define GL_VERSION_1_1 1
#define GL_VERSION_1_2 1
#define GL_VERSION_1_3 1
#define GL_ARB_imaging 1
のでGL_VERSION_xxが1.4、1.5、2.0のために定義されていません。そして、
、私はから/ usr/GL/gl.hを見れば、私のようなものを見つけています。だから私の質問は、ヘッダーファイルにGLバージョンの定義が2.0以上(少なくとも)含まれていない理由です。 GL/gl.hヘッダーファイルをより適切なものに変更する必要がありますか?
私は、標準のubuntu Linuxインストールを使用しています。ここにglxinfoからいくつかのより多くの情報:
OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RV515
OpenGL version string: 2.1 Mesa 7.11
OpenGL shading language version string: 1.20
フランチェスコ
したがって、ヘッダファイルに定義されているGL_VERSION_X_Xは問題ありません。すべてが実行時に決定されるからですか?奇妙に思えますが、私はあなたが正しいと思います... – Francesco
@Francesco:ヘッダーファイルのGL_VERSION_X_Xマクロは、そのヘッダーファイルからどのOpenGLシンボル(トークンとプロシージャ)を取得できるかを示しています。コンパイル時に必要なすべてのシンボルがインストールされているヘッダーファイルに含まれていない場合、コンパイル時にいくつかのエラーを出す#ifndefマクロを追加するという考え方です。 – datenwolf