2008-08-20 16 views

答えて

32

はい、OpenGL拡張ラングラーライブラリ(GLEW)は、Windows上でOpenGL拡張機能を使用する苦労のない方法です。ここではそれを始める方法は次のとおりです。

OpenGLの拡張機能と、使用したい拡張APIを識別します。 OpenGL拡張機能はOpenGL Extension Registryにリストされています。

お使いのグラフィックカードが使用する拡張機能をサポートしているかどうかを確認してください。お使いのグラフィックスカードの最新のドライバとSDKをダウンロードしてインストールしてください。

NVIDIA OpenGL SDKの最新バージョンはGLEWに同梱されています。これを使用している場合、次のステップのいくつかを行う必要はありません。

GLEWをダウンロードして解凍します。

は、Windows PATH環境変数にGLEW ビンパスを追加します。または、glew32.dllを、WindowsがDLLを取得するディレクトリに配置することもできます。

を含むGLEW パスをコンパイラのインクルードディレクトリリストに追加します。

GLEW libのパスをコンパイラのライブラリディレクトリリストに追加します。

リンク時にglew32.libを使用するようにコンパイラに指示します。あなたは、Visual C++コンパイラを使用している場合は、これを行うための一つの方法は、あなたのコードに次の行を追加することです:

#pragma comment(lib, "glew32.lib") 

は、あなたのコードに#include <GL/glew.h>行を追加します。これが他のGLヘッダーファイルのインクルードの上に配置されていることを確認してください。 (実際には、glew.hを含める場合、GLヘッダファイルインクルードは必要ありません)

GLUTまたはGLを初期化した後にglewInit()を使用してGLEWを初期化します。失敗した場合は、セットアップに何か問題があります。

if (GLEW_OK != glewInit()) 
{ 
    // GLEW failed! 
    exit(1); 
} 

使用するエクステンションがGLEWで利用可能になっているかどうかを確認してください。あなたはGLEWによって公開されGLEW _your_extension_nameという名前のブール変数をチェックすることにより、これを行います。

例:それだ

if (!GLEW_EXT_framebuffer_object) 
{ 
    exit(1); 
} 

! OpenGL拡張呼び出しは、Windowsで自然に存在しているかのようにコード内で使用できるようになりました。

+3

Helloを追加しました。これはMinGWで動作しますか?私は今2日間試していますが、「_imp__glewInit @ 0」と定義されていない「_imp __ glewCreateShader」の定義されていない参照のようなエラーが表示されます。 –

+0

Dan Man:この解決策はVisual C++で行われました。これがMingGWで動作するかどうかはわかりません。 –

+0

AFAIK、 '#pragma comment(lib、" glew32.lib ")'はVisual C++でのみ動作します。 MinGWの場合は、ライブラリをコンパイラのコマンドラインに追加する必要があります( '-L'と思う)。 –

5

個人的に私はexitコマンドを使用しません。

私は例外をスローするので、関数の最後に他の初期化をクリアすることができます。

すなわち:

try 
{ 
    // init opengl/directx 
    // init directaudio 
    // init directinput 

    if (GLEW_OK != glewInit()) 
    { 
     throw std::exception("glewInit failed"); 
    } 
} 
catch (const std::exception& ex) 
{ 
    // message to screen using ex.what() 
    // clear up 
} 

そして私はOJに同意する - あなたが他の人のためのチュートリアルを書きたいならば、これは実際にそれのために間違った場所です。すでにOpenGLチュートリアルのための良い場所があります。 Try this one for instance

3

私はしばらく時間を失いましたが、ついにGLEWが動作するようになりました。 私はのWindows7(x64)の、EclipseのCDTとMinGWのを使っていて、道がそれである:

(MinGWのための)ダウンロードMSYSとMinGWのは正しくインストールされているためにrember(PATHのenviroinment変数が正しく設定さ): http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download?use_mirror=freefr&download=

MSYSをインストールしたら

は、に行く: http://glew.sourceforge.net/ とその後のパッケージを開く(あなたが同様に7zipを使用することができます)と「Makefileを」見つけるUNIXシステム

で使用することが意図されてTGZパッケージを、ダウンロードしてください。 それを開き、テキストエディタで(メモ帳はうまくいくはずです) "GLEW_DEST"を含む行を見つけて "GLEW_DEST?= C:/ MinGW"のようなものに置き換えてください

これで準備が整いました。 (私の場合はC:\ MinGW \ msys \ 1.0 \ msys.bat)、シェルが開いたら、 "Makefile"があるフォルダに移動します。

次に書くシンプル: "make install" をし、仕事は

PS(それが働いた、少なくとも私にとっては)行われます。私もコピー&ペーストGLEW-1.10.0-のwin32 \のGLEW-1.10.0 \ bin \ Release \ Win32ファイルはSystem32フォルダにあり、Eclipse CDTではリンカオプションにライブラリ "glew32"を追加し、の前に

関連する問題