OpenGL のバックアップ(No.6)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 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(); /* フルスクリーン表示 */
tag/technical note | tag/programing?


