STEP03:様々な図形の描画

具体的に様々な図形の描画を行っていく。
まずは、下記のコードを見てみよう。

ここでは、基礎的な図形として「線」、「点」、「三角形」、「四角形」の描画を行っている。
コメントに星印(★)が書かれている箇所に注目してほしい。

//////////////////////////////////////////////
// Copyright Ryo Ishikawa 2014. (http://www.ryoxx.org/)
// $Date$
//////////////////////////////////////////////
/// @file Step03_DrawingVariousShapes.cpp
/// @brief Step03 「様々な図形の描画」のソースコード

#include<gl/glut.h>

// 描画を行う関数
void displayFunc(void)
{
	glClear(GL_COLOR_BUFFER_BIT);

	//★点の描画★
	glBegin(GL_POINTS);
	glVertex2d(-0.5, -0.5);
	glEnd();

	//★線の描画★
	glBegin(GL_LINES);
	glVertex2d(0.0, 0.0);
	glVertex2d(0.5, 0.5);
	glEnd();

	//★三角形の描画★
	glBegin(GL_TRIANGLES);
	glVertex2d(-0.5, 0.0);
	glVertex2d( 0.0, 0.0);
	glVertex2d(-0.5, 0.5);
	glEnd();

	//★四角形の描画★
	glBegin(GL_QUADS);
	glVertex2d( 0.0, 0.0);
	glVertex2d( 0.0,-0.5);
	glVertex2d( 0.5,-0.5);
	glVertex2d( 0.5, 0.0);
	glEnd();

	glFlush();
}

// メイン関数
int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutCreateWindow(argv[0]);
	glutDisplayFunc(displayFunc);

	glClearColor(0.0, 0.0, 0.0, 1.0);

	glutMainLoop();

	return 0;
}

上記のコードをビルドして実行すると、以下のようなウィンドウが表示されるだろう。
STEP03_00

左上に三角形、左下に点、右上に線、右下に四角形が描画される。

OpenGLでの図形の描画は、基本的に、

glBegin(■描画する図形の種類■);
glVertex2d(■頂点の位置■);
・・・(以下、必要な分の頂点を列挙)・・・
glEnd();

という記述で行われる。