へっぽこFlasherのOpenGL勉強その1
なんとなくOpenGLを勉強してみようと思ったので、勉強した事をメモメモ。
■環境
Mac OS X 10.5.6(Intel)
■ウィンドウ表示までのプロセス
•glutInit()関数でglut(OpenGLをいい感じにまとめてるもの)†を初期化
•glutInitWindowPosition()関数でウィンドウの位置指定
•glutInitWindowSize()関数でウィンドウのサイズ指定
•glutInitDisplayMode()関数でウィンドウのカラーモードをRGBAに設定
•glutCreateWindow()関数でウィンドウ作成
•glClearColor()関数でウィンドウのRGBA値を設定
•glutKeyboardFunc()関数でキーイベントのコールバック関数を登録(escキーが押されたらウィンドウを閉じる)
•glutDisplayFunc()関数で描画コールバック関数を登録
•glutMainLoop()でイベントの待ち状態に
•display()が実行される
•glClear()関数でウィンドウの背景色を塗りつぶす
•glFlush()関数で強制描画
■環境
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