私は Windows で OpenGL 拡張機能を使用してきました。GLEW の方が簡単ですか?どうすれば始められますか?
3 に答える
はい、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 拡張呼び出しを使用できるようになりました。
個人的には、終了コマンドは使用しません。
関数の最後で他の初期化をクリアできるように、例外をスローします。
すなわち:
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 のチュートリアルに適した場所はすでにたくさんあります。たとえば、これを試してみてください。
少し時間を失いましたが、ようやく 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>