GPUプログラミングの方法†
- OpenGL
- CUDA, GLSL, Cg :シェーディング言語
- GPUCV, GPUKLT :GPU上で走るライブラリ (GPUCVはOpenCVをGPU上で走らせるライブラリ)
- さて,どれから手をつけるか・・・
- 下記にGLSL+GLUT+GLEWの組み合わせを記す.
OpenGL+GLUT+GLEWのインストール方法(Win32において)†
- ネット上でやってるインストールとはディレクトリ構造が違うので注意
- OpenCVと同様,Program Files以下にまとめ,ただしDLLだけはsystem32に置いた
- ネット上と同様,全部.NETに入れちゃえば追加ディレクトリの設定も要らない
- 要検討
OpenGLのインストール†
- 基本的に最近のWindowsには opengl32.dll が Windows\system32以下に置かれている=インストール済みなので不要
GLUTのインストール†
- http://www.xmission.com/~nate/glut.html から glut-3.7.6-bin.zip をダウンロード(2008/01/21現在)
- 展開してできた
- glut.h を (VCInstallDir)\Include\GL に
- glut32.lib を (VCInstallDir)\Lib に
- glut32.dll を C:\WINDOWS\system32 に
- それぞれ置く
- dllファイル以外の置き場所は任意
- glut.hをインクルード
GLEWのインストール†
- http://glew.sourceforge.net/ から glew-1.5.0-win32.zipをダウンロード(2008/01/21現在)
- 展開してできた
- include\GL\glew.h と include\GL\wglew.h を (VCInstallDir)\Include\GL に
- lib\glew32.lib と lib\glew32s.lib を (VCInstallDir)\lib に
- bin\glew32.dll を C:\WINDOWS\system32 に
- それぞれ置く
- dllファイル以外の置き場所は任意
- glew.hはglut.hより前にインクルードしないといけない模様.
- glew32.lib を使用するライブラリ一覧に追加
OpenGL+GLUT+GLEW+GLEXTのインストール方法(Ubuntuにおいて)†
GLUTのインストール†
GLEWのインストール†
GLEXTのインストール†
error C2086: 'int APIENTRY' : 再定義されました。†
GLUT系†
glutInit(int *argc, char **argc);†
glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE); // GLUT_RGB: use RGB†
- GLUTの初期化をする
- GLUT_RGBA:RGBA モードを選択するビットマスク.GLUT_RGBAも GLUT_INDEX も記述されないときのデフォルトである.
- GLUT_RGB:GLUT_RGBA へのエイリアス.
- GLUT_RGB:RGB空間を使う
- GLUT_DOUBLE:2枚のスクリーンを使う.倍精度のdoubleではない
- GLUT_INDEX:カラーインデックス・モードを選択するビットマスク. GLUT_RGBAも記述された場合,上書きする.
- GLUT_SINGLE:シングルバッファ・モードを選択するビットマスク. GLUT_DOUBLE もGLUT_SINGLEも記述されていない場合の デフォルトである.
- GLUT_DOUBLE:ダブルバッファ・モードを選択するビットマスク. GLUT_SINGLE も記述されていた場合,上書きする.
- GLUT_ACCUM:アキュムレーション・バッファを選択するビットマスク.
- GLUT_ALPHA:カラーバッファにアルファ成分を加えることを選択するビットマスク.
- GLUT_DEPTH:デプス(Z)バッファを加えることを選択するビットマスク.
- GLUT_STENCIL:ステンシル・バッファを加えることを選択するビットマスク.
- GLUT_MULTISAMPLE:マルチサンプリングのサポートを選択するビットマスク. マルチサンプリングが利用できない場合は無視される.
- 注意:マルチサンプリングを可能とするためには,OpenGL の クライアントとサーバーの両方が GLX_SAMPLE_SGIS エクステンションをサポートしていなければならない.
- GLUT_STEREO:ステレオ・ウィンドウを選択するビットマスク.
- GLUT_LUMINANCE:``luminance'' カラーモデルを選択するビットマスク. このモデルは OpenGL の RGBA カラーモデルの機能を提供するが, G,B成分はフレームバッファに反映されない.その代わり,各ピクセルの R成分がゼロとglutGet(GLUT_WINDOW_COLORMAP_SIZE)-1 の間の値に 変換され,ウィンドウごとのカラーマップを参照してそのウィンドウ内の ピクセル色を決定する.GLUT_LUMINANCE ウィンドウの 初期カラーマップは線型なグレーであるが,GLUT のカラーマップ・ ルーチンによって変更可能である.
- glutでウィンドウを生成する
- 失敗するとGL_FALSEを返す
GLEW系†
glewInit();†
OpenGL†
glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);†
glCreateProgramObjectARB();†
GLhandleARB glCreateShaderObjectARB();†
- シェーダープログラムオブジェクトを生成する
- GL_VERTEX_SHADER_ARB:バーテックスシェーディングプログラム
- GL_FRAGMENT_SHADER_ARB:フラグメントシェーディングプログラム
glAttachObjectARB();†
glLinkProgramARB();†
glGetObjectParameterivARB();†
glCompileShaderARB();†
glDisable†
GLSL参考サイト†
ジャンル:OpenGL
Last-modified: 2013-12-27 (金) 12:42:55