Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
/* ------------------------------------------------------
     基本図形による2D描画の実施
--------------------------------------------------------*/
#include <GL/glut.h>
#include <iostream>
int display_num = 0;
// 描画処理が必要なときに呼ばれる
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); // カラーバッファを初期化する
glBegin(GL_LINES);
glColor3f(1.0, 0.0, 0.0);
glVertex2f(-0.8f, -0.8f); // (1.0, 0.0, 0.0) 赤 ①
glVertex2f(-0.8f, 0.8f); // (1.0, 0.0, 0.0) 赤 ②
glColor3f(0.0, 1.0, 0.0);
glVertex2f(0.0f, -0.8f); // (0.0, 1.0, 0.0) 緑 ③
glVertex2f(0.0f, 0.8f); // (0.0, 1.0, 0.0) 緑 ④
glColor3f(0.0, 0.0, 1.0);
glVertex2f(0.8f, -0.8f); // (0.0, 0.0, 1.0) 青 ⑤
glColor3f(1.0, 1.0, 0.0);
glVertex2f(0.8f, 0.8f); // (1.0, 1.0, 0.0) 黄 ⑥
glEnd();
glBegin(GL_TRIANGLES);
glColor3f(1.0, 0.0, 0.0);
glVertex2f(-0.4f, -0.4f); // (1.0, 0.0, 0.0) 赤 ⑦
glVertex2f(-0.4f, 0.4f); // (1.0, 0.0, 0.0) 赤 ⑧
glColor3f(1.0, 0.0, 1.0);
glVertex2f(-0.2f, 0.0f); // (1.0, 0.0, 1.0) 紫 ⑨
glEnd();
glFlush(); // 描画を行う
}
void initialize(void)
{
glClearColor(1.0, 1.0, 1.0, 1.0); // 画面を白にする
}
int main(int argc, char** argv)
{
glutInit(&argc, argv); // GLUTを初期化する
glutInitWindowSize(800, 600); // 画面サイズを指定する
glutInitWindowPosition(100, 100); // 画面の初期位置を指定する
glutInitDisplayMode(GLUT_RGBA); // 表示モード設定
glutCreateWindow("OpenGL Window"); // ウィンドウの名前
// コールバック関数の設定
glutDisplayFunc(display); // 描画処理が必要なときに呼ばれる
initialize(); // 初期化
glutMainLoop(); // 毎フレームのLoop
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment