5

私は OpenGL アプリケーションを開発しており、glewライブラリを使用する必要があります。Visual Studio C++ 2008 Expressを使用しています。

gl.h、glu.h、および glut.h を使用してプログラムをコンパイルしたところ、問題なく実行されました。しかし glew.h を含めた後でも問題なくコンパイルされますが、試してみると:

glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}

それは印刷を続けます:

「OpenGL 2.0 はサポートされていません」。

glewIsSupported("GL_VERSION_1_3")またはに変更しようとしましたが、glewIsSupported("GL_VERSION_1_0")OpenGL バージョンをサポートしていないことを意味する false が返されます。

私は Radeon HD 5750 を持っているので、OpenGL 3.1 と 3.2 のいくつかの機能をサポートするはずです。ATI が提供する Radeon SDK ですべてのプログラムを実行できたので、すべてのデバイス ドライバーが適切にインストールされていることがわかります。

OpenGL Extensions Viewer 3.15 もインストールしましたが、OpenGL Version 3.1 Ati Driver 6.14.10.9116 と表示されます。GLEW_VERSION_1_1GLEW_VERSION_1_2GLEW_VERSION_1_3、 、 、 、 、GLEW_VERSION_2_0GLEW_VERSION_2_1、これらすべてGLEW_VERSION_3_0が false を返します。

他の提案はありますか?私も試してみましたがGLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader、これもfalseを返しています。

4

4 に答える 4

8

glewIsSupported特定の機能がサポートされているかどうかを確認するためのものです。あなたはもっと似たものが欲しい...

if (GLEW_VERSION_1_3)
{
    /* Yay! OpenGL 1.3 is supported! */
}
于 2009-12-30T20:57:39.877 に答える
2

必要な初期化が不足している可能性があります。私は同じ質問に遭遇します。そして、これが私が質問を解決する方法です:あなたはglCreateWindow()先を含める必要があります。この関数を含めて、再試行してください。

于 2013-06-04T11:21:33.560 に答える