ウインドウの表示

2010年1月4日

ファイル

01-window.tar.gz

内容

GLUT でウインドウを表示します。GLUT を使うためにインクルードファイルをインクルードします。

#include <GL/glut.h>

glutInit() で GLUT を初期化します。関数の引数には、コマンドライン引数を与えます。

	glutInit(&argc, argv);

glutInitWindowSize() でウインドウサイズを指定、glutInitWindowPosition() でウインドウの位置を指定します。ここでは、glutGet() でスクリーンのサイズを取得し、スクリーンの中央にウインドウを位置させています。

	w = glutGet(GLUT_SCREEN_WIDTH);
	h = glutGet(GLUT_SCREEN_HEIGHT);
	
	glutInitWindowSize(WIDTH, HEIGHT);
	glutInitWindowPosition((w - WIDTH)/2, (h - HEIGHT)/2);

glutInitDisplayMode() でディスプレイモードを指定します。以下では、ダブルバッファリング (GLUT_DOUBLE) を使用、色を RGB (赤緑青) と A (不透明度) で指定することを指定しています。

	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);

glutCreateWindow() でウインドウを作成します。

	glutCreateWindow(TITLE);

glutDisplayFunc() で描画時に呼ばれるコールバック関数を設定します。

	glutDisplayFunc(display);

glutMainLoop() でメインループに入ります。

	glutMainLoop();

描画時のコールパック関数において、描画の処理を記述します。glClearColor() でクリアに使用する色 (R, G, B, A、それぞれ 0 〜 1) を指定し、glClear() でカラーバッファ (GL_COLOR_BUFFER_BIT で指定) をクリアします。

	glClearColor(1., 1., 1., 1.);
	glClear(GL_COLOR_BUFFER_BIT);

glutSwapBuffers() によって、描画が有効になります。これは、バックグラウンドの描画バッファを前面に出します。

	glutSwapBuffers();

OpenGL プログラミング 目次へ