« flashvars取得 | メイン | 今日の日付のディレクトリを作るスクリプト »

へっぽこFlasherのOpenGL勉強その1

なんとなくOpenGLを勉強してみようと思ったので、勉強した事をメモメモ。
■環境
Mac OS X 10.5.6(Intel)

■今日の目標:500X500の背景色が黒のウィンドウを画面左上に開く(あんまりOpenGLと関係なし。。。)

以下ソース。

#include<GLUT/glut.h>
#define ESC_KEY 27
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void myKbd(unsigned char key , int x , int y ){
if(key == ESC_KEY){
exit(0);
}
}

void myInit(char *progname){
int width = 500;
int height = 500;
glutInitWindowPosition(0,0);
glutInitWindowSize(width,height);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(progname);
glClearColor(0,0,0,1);
glutKeyboardFunc(myKbd);
}

int main(int argc ,char** argv){
glutInit(&argc,argv);
myInit(argv[0]);
glutDisplayFunc(display);
glutMainLoop();
return(0);
}


■ウィンドウ表示までのプロセス

•glutInit()関数でglut(OpenGLをいい感じにまとめてるもの)†を初期化

•glutInitWindowPosition()関数でウィンドウの位置指定

•glutInitWindowSize()関数でウィンドウのサイズ指定

•glutInitDisplayMode()関数でウィンドウのカラーモードをRGBAに設定

•glutCreateWindow()関数でウィンドウ作成

•glClearColor()関数でウィンドウのRGBA値を設定

•glutKeyboardFunc()関数でキーイベントのコールバック関数を登録(escキーが押されたらウィンドウを閉じる)

•glutDisplayFunc()関数で描画コールバック関数を登録

•glutMainLoop()でイベントの待ち状態に

•display()が実行される

•glClear()関数でウィンドウの背景色を塗りつぶす

•glFlush()関数で強制描画
gcc -framework OpenGL -framework GLUT test01.c

トラックバック

このエントリーのトラックバックURL:
http://www.godagoda.net/cgi/blog/mt-tb.cgi/28

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年03月20日 02:04に投稿されたエントリーのページです。

ひとつ前の投稿は「flashvars取得」です。

次の投稿は「今日の日付のディレクトリを作るスクリプト」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。