OpenGL のバックアップ(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- OpenGL へ行く。
- 1 (2005-05-22 (日) 00:31:38)
- 2 (2005-07-26 (火) 13:35:47)
- 3 (2005-08-11 (木) 02:50:46)
- 4 (2005-09-06 (火) 01:23:54)
- 5 (2005-10-07 (金) 16:46:19)
- 6 (2005-10-09 (日) 03:29:34)
- 7 (2005-11-06 (日) 04:37:11)
- 8 (2007-03-11 (日) 03:02:06)
- 9 (2007-03-11 (日) 03:02:06)
- 10 (2007-10-07 (日) 04:06:31)
- 11 (2007-10-07 (日) 16:27:41)
- 12 (2007-10-08 (月) 04:23:17)
- 13 (2007-10-08 (月) 04:23:17)
- 14 (2007-10-08 (月) 04:23:17)
- 15 (2007-10-08 (月) 22:54:14)
- 16 (2007-10-09 (火) 02:04:56)
- 17 (2007-10-09 (火) 02:04:56)
- 18 (2007-10-09 (火) 02:04:56)
- 19 (2007-10-09 (火) 02:04:56)
Silicon Graphics社が中心となって開発された、グラフィックス処理のためのプログラミングインターフェース。 --- IT用語辞典より。
参考 †
チュートリアル。入門にお奨め。
- GLUTによる「手抜き」OpenGL入門
- GLUT on MacOSX
- OpenGL入門
- OpenGL 入門講座
- NuWiki
- OpenGLプログラム
- Xcode on MacOS X 10.3でGLUTのコードをコンパイルする
より詳しい情報はこちらから。
OpenGLを利用したサンプル。
リファレンス
テクスチャ †
glTexSubImage2D †
void glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
アルファ値を利用したポリゴンの切り抜き †
TGA画像の読み込み †
#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画像の読み込み †
#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); } }
フォント †
Bitmap Font Builder †
glutBitmapCharacter †
※テクスチャが有効だと表示されないようだ。
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
その他 †
フルスクリーン †
glutFullScreen(); /* フルスクリーン表示 */