私はWindows上でOpenGL拡張機能を使っています。painful way。 GLEWは簡単に行くことができますか?どのように私はそれを開始するのですか?GLEWを使用してWindowsでOpenGL拡張機能を使用する
答えて
はい、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で自然に存在しているかのようにコード内で使用できるようになりました。
個人的に私は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。
私はしばらく時間を失いましたが、ついに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"を追加し、の前に
- 1. 拡張機能を使用して
- 2. Windowsのレジストリを使用してFirefoxの拡張機能をインストールする
- 3. AndroidでJavaからOpenGL ES 2.0拡張機能を使用するには?
- 4. ネットワークソリューションで.htaccessを使用して拡張機能を隠す
- 5. 拡張機能付きのChrome拡張機能を使用したマウスクリック
- 6. Chrome拡張機能を使用してページを更新する
- 7. Chrome拡張機能を使用してURLをデコードする
- 8. WebSharperを使用してChrome拡張機能を作成する
- 9. Chrome拡張機能 - プログラムを使用してプロキシをバイパスする
- 10. 拡張機能を使用してカスタムUIButtonを作成する
- 11. 拡張マネージャを使用しないでVS2010拡張機能をアンインストールする
- 12. ドループスプレッドシートで「拡張」機能を使用していますか?
- 13. Chrome拡張機能を使用してページオブジェクトにアクセスする
- 14. Chrome拡張機能のページ機能を使用する
- 15. GLEW(OpenGL拡張ラングラー):実行時にopengl dllをロードしていますか?
- 16. Google Chromeの拡張機能でJavaの拡張機能を使用してタイムゾーンのオフセットを見つける
- 17. いつコンポーネントを使用し、Yiiで拡張機能を使用するか?
- 18. MinGWを使用してWindowsでGLEW 1.7.0を構築する
- 19. Windows APIコードパックを使用するC#アプリケーションシェル拡張機能はシャットダウンしません
- 20. Chrome拡張機能:拡張機能を使用して、ページ上のイベントをリッスンしますか?
- 21. Sqlite.Net拡張機能の使用方法
- 22. OpenGLデプステストが機能しない(GLEW/SDL2)
- 23. iMessage拡張機能でFirebaseを使用するとクラッシュする
- 24. 拡張機能でworkbench.colorCustomizationsを使用しますか?
- 25. WordPressの拡張機能を使用してドメインにアップロード
- 26. 実行Chromeの拡張機能を使用してPDFのページ
- 27. APIを使用したChrome拡張機能が機能していません
- 28. Firefox拡張機能でnsIURIContentListenerを使用する際の問題
- 29. Selenium(Python)で拡張機能を使用する
- 30. iOSアプリの拡張機能でiCloudを使用する
Helloを追加しました。これはMinGWで動作しますか?私は今2日間試していますが、「_imp__glewInit @ 0」と定義されていない「_imp __ glewCreateShader」の定義されていない参照のようなエラーが表示されます。 –
Dan Man:この解決策はVisual C++で行われました。これがMingGWで動作するかどうかはわかりません。 –
AFAIK、 '#pragma comment(lib、" glew32.lib ")'はVisual C++でのみ動作します。 MinGWの場合は、ライブラリをコンパイラのコマンドラインに追加する必要があります( '-L'と思う)。 –