#contents

*GPUプログラミングの方法 [#r0e879d6]
-OpenGL
-CUDA, GLSL, Cg :シェーディング言語
-GPUCV, GPUKLT :GPU上で走るライブラリ (GPUCVはOpenCVをGPU上で走らせるライブラリ)
-さて,どれから手をつけるか・・・
-下記にGLSL+GLUT+GLEWの組み合わせを記す.

*OpenGL+GLUT+GLEWのインストール方法(Win32において) [#j5287b61]
-ネット上でやってるインストールとはディレクトリ構造が違うので注意
-OpenCVと同様,Program Files以下にまとめ,ただしDLLだけはsystem32に置いた
-ネット上と同様,全部.NETに入れちゃえば追加ディレクトリの設定も要らない
-要検討

**OpenGLのインストール [#x5eba064]
-基本的に最近のWindowsには opengl32.dll が Windows\system32以下に置かれている=インストール済みなので不要

**GLUTのインストール [#p6bd0748]
-http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/index.html 参考
-(VCInstallDir)は
--Visual Studio 6.0の場合 C:\Program Files\Microsoft Visual Studio\VC98
--Visual Studio .NET 2003の場合 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK
--Visual Studio 2005の場合 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK
+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ファイル以外の置き場所は任意
//+Visual Studio .NETのツール(T)→オプション(O)→プロジェクト→VC++ディレクトリの
//--インクルードファイル の項に C:\Program Files\OpenGL\include を
//--ライブラリファイル の項に C:\Program Files\OpenGL\lib を
//--それぞれ追加
+glut.hをインクルード

**GLEWのインストール [#p1887773]
-http://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/glew/disp_content 参考
-(VCInstallDir)は
--Visual Studio 6.0の場合 C:\Program Files\Microsoft Visual Studio\VC98
--Visual Studio .NET 2003の場合 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK
--Visual Studio 2005の場合 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK
+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ファイル以外の置き場所は任意
//+その他のファイルはC:\Program Files\OpenGL\GLEW にまとめておくと便利
+glew.hはglut.hより前にインクルードしないといけない模様.
+glew32.lib を使用するライブラリ一覧に追加


*OpenGL+GLUT+GLEW+GLEXTのインストール方法(Ubuntuにおいて) [#ed7c349a]
-UbuntuではGLEXTライブラリも追加した
**GLUTのインストール [#t1ebb120]
-パッケージ管理でインストール
 sudo apt-get install -y freeglut3-dev libglut3-dev
**GLEWのインストール [#yee27786]
-パッケージ管理でインストール
 sudo apt-get install -y libglew1.5-dev
**GLEXTのインストール [#vbb4c009]
-パッケージ管理でインストール
 sudo apt-get install -y libgtkglext1-dev
ジャンル[[:OpenGL]]


*error C2086: 'int APIENTRY' : 再定義されました。 [#m20326fa]
-Windows+OpenGLの環境で起きる模様
-gl.hをインクルードする前にwindows.hをインクルードすれば直る?
 #include <windows.h>
 #include <GL/gl.h>
-ただ,インクルードの順番にもよるみたい…
-GLEW+GLUT+OpenGLの組み合わせの場合,[[OpenGLとOpenCVの共存>OpenGLとOpenCVの共存#o909b031]]を参照して順序を正すべし


*GLUT系 [#af590048]
**glutInit(int *argc, char **argc); [#odba9310]
-GLUTの初期化をする
**glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE);	// GLUT_RGB:	use RGB [#w17e71cd]
-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 のカラーマップ・ ルーチンによって変更可能である.
**glutInitWindowPosition(int x, int y) [#h88cd96e]
-ウィンドウの位置を設定する
**glutInitWindowSize(int width, int height); [#c9ee8f47]
**glutCreateWindow() [#n7d781fa]
-glutでウィンドウを生成する
-失敗するとGL_FALSEを返す
**glutPostRedisplay(); [#u08341a2]
-ask to draw the display
**glutReshapeFunc(); [#j27f2580]
**glutDisplayFunc(); [#r4e2744b]
**glutIdleFunc(); [#ofcef8ca]
**glutKeyboardFunc(); [#a7f2ee18]
**glutSpecialFunc(); [#z758043f]

*GLEW系 [#k020d8cd]
**glewInit(); [#o7540069]
-GLEWの初期化をする

*OpenGL [#t6998e86]
**glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB); [#h1eb5d56]
-SHADERを使うことを宣言する

**glCreateProgramObjectARB(); [#yf5fc40f]
-プログラムオブジェクトを生成する
**GLhandleARB glCreateShaderObjectARB(); [#hf5833bb]
-シェーダープログラムオブジェクトを生成する
-GL_VERTEX_SHADER_ARB:バーテックスシェーディングプログラム
-GL_FRAGMENT_SHADER_ARB:フラグメントシェーディングプログラム
**glAttachObjectARB(); [#j2d760d6]
**glLinkProgramARB(); [#p43ba62b]
**glGetObjectParameterivARB(); [#lc071fc4]
-log情報を出力する

**glActiveTexture(GL_TEXTURE0); [#y32d9213]
**glBindTexture(GL_TEXTURE_2D, inputImageTextureId); [#m00e296d]
**glCompileShaderARB(); [#z7402ab6]
-compile the shader
**glPixelStorei [#w3da86b1]
**glDisable [#c24c57a5]

*GLSL参考サイト [#ib503602]

-OpenGL でスプライトフォント
--[[primitive: blog>http://i-saint.hatenablog.com/entries/2012/10/22]], 2012-10-22更新, 2013-12-27閲覧
-GLUTの公式ページ
--[[GLUT - The OpenGL Utility Toolkit>http://www.opengl.org/resources/libraries/glut/]], 2013-12-27閲覧
-井村先生によるGLEWの導入
--[[GLEWの導入と使用>http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/OpenGL/OpenGL/glew/disp_content]], 2013-12-27閲覧
-OpenGLに関する説明
--[[KGussan Webpage>http://kgussan.ojaru.jp/opengl.html]], 2013-12-27閲覧
-寺西先生のページ。サンプルいっぱい
--[[T.Teranishi:OpenGL:samples>http://www.asahi-net.or.jp/~YW3T-TRNS/opengl/samples/index.htm]], 2013-12-27閲覧
-OpenGLのDebugger、gDEBugger
--[[[3D Programming] gDEBugger Advanced OpenGL Debugger Now FREE! - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming - Geeks3D.com>http://www.geeks3d.com/20101207/3d-programming-gdebugger-advanced-opengl-debugger-now-free/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheGeeksOf3d+%28The+Geeks+Of+3D%29]], 2013-12-27閲覧
-GLEWの公式ページ
--[[GLEW: The OpenGL Extension Wrangler Library>http://glew.sourceforge.net/]], 2013-12-27閲覧
-OpenGLの公式ページ
--[[http://www.opengl.org/]], 2013-12-27閲覧
-[[OpenGL+GLUT>http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/index.html]], 2013-12-27閲覧
-http://atocmoc.com/wordpress/category/opengl/ , 2013-12-27閲覧
-http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html , 2013-12-27閲覧
-http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/index.html , 2013-12-27閲覧
-http://www.arakin.dyndns.org/gl_torusglew.php
-http://exth.net/~ohshima/cgi-bin/fswiki/wiki.cgi?page=OpenGL%A4%CB%A4%E8%A4%EB%BC%C2%C1%F5%CA%FD%CB%A1 , 2013-12-27閲覧
-http://www.asahi-net.or.jp/~yw3t-trns/lec1_2.txt
-http://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/glew/disp_content
-http://www.opengl.org/resources/libraries/glut/faq/
-http://stackoverflow.com/questions/859501/learning-opengl-in-ubuntu
-http://d.hatena.ne.jp/slayer845/20081006/1223220320
-http://imd.naist.jp/~fujis/cgi-bin/wiki/index.php?OpenGL%20-%20FBO
-http://blog.goo.ne.jp/boron700/e/3f4a6d127b1a5b5a12479381677d941b
-http://3dcg.homeip.net/3d_hardware/video_card/04_OpenGL.php
-http://opengl.jp/oglfaq/extensions.htm
-http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/computer/OpenGL/glew/disp_content
-http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20060715
-http://www.xmission.com/~nate/glut.html
-Windows.hとのインクルード問題
--http://tukikage.dtiblog.com/blog-entry-4.html
--http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/5fa6bbe2-32db-49e2-a643-5db082f972e6/ , 2013-12-27閲覧


ジャンル[[:OpenGL]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS