23

私は Windows で OpenGL 拡張機能を使用してきまし。GLEW の方が簡単ですか?どうすれば始められますか?

4

3 に答える 3

36

はい、OpenGL Extension Wrangler Library (GLEW) を使用すると、Windows で OpenGL 拡張機能を簡単に使用できます。開始方法は次のとおりです。

使用する OpenGL 拡張機能と拡張 API を特定します。OpenGL 拡張機能は、 OpenGL 拡張レジストリにリストされています。

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

NVIDIA OpenGL SDKの最近のバージョンには、GLEW が同梱されています。これを使用している場合は、次の手順の一部を実行する必要はありません。

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

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

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

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

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

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

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

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

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

使用したい拡張機能が GLEW から入手できるかどうかを確認してください。これを行うには、GLEW によって公開されるGLEW _your_extension_nameという名前のブール変数をチェックします。

例:

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

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

于 2008-08-20T03:19:50.827 に答える
6

個人的には、終了コマンドは使用しません。

関数の最後で他の初期化をクリアできるように、例外をスローします。

すなわち:

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 のチュートリアルに適した場所はすでにたくさんあります。たとえば、これを試してみてください

于 2008-08-20T05:08:59.083 に答える
4

少し時間を失いましたが、ようやく GLEW を機能させることができました。私は Windows7 (x64)、Eclipse CDT、および MinGW を使用していますが、その方法は次のとおりです。

MSYS (MinGW 用) をダウンロードし、MinGW が正しくインストールされていることを確認します (PATH 環境変数を正しく設定します): 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/ に移動し UNIX システムで使用することを目的とした TGZ パッケージをダウンロードします。

次に、パッケージを開き (7zip も使用できます)、「Makefile」を見つけます。それを開き、テキスト エディター (メモ帳は正常に動作するはずです) で "GLEW_DEST" を含む行を見つけ、"GLEW_DEST ?= C:/MinGW" のようなものに置き換えます。

MSYS (私の場合は 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」をリンカー オプションに追加し、#include <GL/glew.h>#include <GL/glut.h>

于 2013-07-29T11:28:22.203 に答える