トップページ > Wiki > OpenGL
OpenGL のバックアップソース(No.8)
#ref(http://www.opengl.org/images_global/opengl_logo.jpg,right,around)
Silicon Graphics社が中心となって開発された、グラフィックス処理のためのプログラミングインターフェース。 --- [[IT用語辞典:http://e-words.jp/w/OpenGL.html]]より。
#contents
*参考 [#va4a3974]
チュートリアル。入門にお奨め。
-[[GLUTによる「手抜き」OpenGL入門:http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html]]
-[[GLUT on MacOSX:http://www.center.wakayama-u.ac.jp/~tokoi/opengl/xcode/index.html]]
-[[OpenGL入門:http://wisdom.sakura.ne.jp/system/opengl/index.html]]
-[[OpenGL 入門講座:http://miso.ice.ous.ac.jp/%7Eoka/opengl/]]
-[[NuWiki:http://www2s.biglobe.ne.jp/~nunokawa/wiki.cgi?page=OpenGL]]
-[[OpenGLプログラム:http://www.westernvillage.co.jp/openglprogram.htm]]
-[[Xcode on MacOS X 10.3でGLUTのコードをコンパイルする:http://www.asahi-net.or.jp/~ws5n-isng/Mac/MacOS_OpenGL.html]]
より詳しい情報はこちらから。
-[[NeHe Productions: Main Page:http://nehe.gamedev.net/]]
-[[Zanir - News -:http://www.zanir.szm.sk/]]
OpenGLを利用したサンプル。
-[[glclock - OpenGL Pocket Watch -:http://www.daionet.gr.jp/~masa/glclock/]]
リファレンス
-[[PyOpenGL 2.0.1.04 Man Pages:http://pyopengl.sourceforge.net/documentation/manual/]]
-[[Cal Poly CSC OpenGL Manual Pages:http://www.csc.calpoly.edu/~hitchner/CSC455/GLmanual/]]
-[[GLUT Manual Pages:http://www.cs.uccs.edu/~semwal/man.html]]
*テクスチャ [#b8c4768f]
**glTexSubImage2D[#i8b4a81c]
-[[画像の上書き:http://wisdom.sakura.ne.jp/system/opengl/gl25.html]]
void glTexSubImage2D(
GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height,
GLenum format, GLenum type, const GLvoid *pixels
);
**アルファ値を利用したポリゴンの切り抜き [#y50873c0]
-[[床井研究室 - 第4回 アルファテスト:http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040916]]
**TGA画像の読み込み [#j0677d3c]
-[[2002年度 OpenGL勉強会 資料のページ:http://www.is.oit.ac.jp/~whashimo/server/~whashimo/Article/OpenGL/Chapter7/index.html]]
#define TEX_HEIGHT 256
#define TEX_WIDTH 512
GLubyte image[TEX_HEIGHT][TEX_WIDTH][4];
void initTexture(void)
{
FILE *fp;
int x, z;
/* texture file open */
if((fp=fopen("test.tga", "rb"))==NULL){
fprintf(stderr, "texture file cannot open\n");
return;
}
fseek(fp, 18, SEEK_SET);
for(x=0;x<TEX_HEIGHT;x++){
for(z=0;z<TEX_WIDTH;z++){
image[x][z][2]=fgetc(fp);/* B */
image[x][z][1]=fgetc(fp);/* G */
image[x][z][0]=fgetc(fp);/* R */
image[x][z][3]=fgetc(fp);/* alpha */
}
}
fclose(fp);
}
**RAW画像の読み込み [#aaf998a4]
-[[床井研究室 - 第1回 画像の読み込み:http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040913]]
#define TEXWIDTH 256
#define TEXHEIGHT 256
GLubyte texture[TEXHEIGHT][TEXWIDTH][3];
void initTexture(void)
{
if ((fp = fopen("tire.raw", "rb")) != NULL) {
fread(texture, sizeof texture, 1, fp);
fclose(fp);
}
}
*フォント [#d1b5c5f5]
**Bitmap Font Builder [#i8bed5f1]
-[[Bitmap Font Builder:http://www.lmnopc.com/bitmapfontbuilder/]]
--[[nehe:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=13]]
--[[mgb:http://homepage.ntlworld.com/martingbell/code/index.html]]
**glutBitmapCharacter [#v4342b56]
※テクスチャが有効だと表示されないようだ。
void drawString( void* font, char* str ){
int i = 0;
while( str[i] != '\0' ){
glutBitmapCharacter( font, (int)('a') );
i++;
}
}
glDisable(GL_TEXTURE_2D);
glColor3f( 1, 1, 1 );
glRasterPos3f( 0, 0, 0 );
drawString( GLUT_BITMAP_TIMES_ROMAN_10, "hello" );
-GLUT_BITMAP_8_BY_13
-GLUT_BITMAP_9_BY_15
-GLUT_BITMAP_TIMES_ROMAN_10
-GLUT_BITMAP_TIMES_ROMAN_24
-GLUT_BITMAP_HELVETICA_10
-GLUT_BITMAP_HELVETICA_12
-GLUT_BITMAP_HELVETICA_18
**wglUseFontBitmap, wglUseFontOutline [#cc440ea7]
-[[OpenGLで日本語表示 on Windows:http://dokudamin.skr.jp/diary/2005/2005_08.html#d20050808]]
--http://64.233.167.104/search?q=cache:qQhJNl-_WBAJ:dokudamin.skr.jp/diary/index.html%3F08050100+wglUseFontOutlines&hl=ja&lr=lang_ja
-[[MFC を使用した OpenGL, その 2 (3D フォント):http://mailsrv.nara-edu.ac.jp/~asait/open_gl/mfc2/mfc2.htm#section3]]
*その他 [#m3fbfd10]
**フルスクリーン [#ua44e6de]
-http://www.ojk.info.gifu-u.ac.jp/techfaq/sgl/glut.html
glutFullScreen(); /* フルスクリーン表示 */
#hr
tag/technical note | [[tag/programing]]