メイン

OpenGL アーカイブ

2009年03月20日

へっぽこ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

About OpenGL

ブログ「godagoda.net」のカテゴリ「OpenGL」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはMacです。

次のカテゴリはbashです。

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