Image

OpenGLとC言語で三角形を描画する - 短形の描画

今回はOpenGLとC言語で三角形を描画します。三角形の描画に必要なサンプルコードを用いながらOpenGLの基本的な使用方法について解説しています。

OpenGLとC言語で三角形を描画する

C言語とOpenGLの基本的な使用方法について触れながら三角形の描画について解説します。

目次   

01. OpenGLの基本関数

02. 三角形を描画する

03. まとめ


01. OpenGLの基本関数



OpenGLには大きく分けて三つの必須な関数があります。



// 初期化関数

void init(void) {

           //背景色を指定

           glClearColor(0.0, 0.0, 0.0, 1.0);

}



まずは初期化関数です。

主に全体的な初期設定を行います。

ここでは背景色を指定しています。



//描画関数

void display(void) {


}



次にdisplay関数です。

ここでは主にウィンドウ上に表示させるものを記述します。

今回では三角形はdisplay関数で定義します。



int main(int argc, char* argv[]) {

           //GLUTライブラリを初期化

           glutInit(&argc, argv);

 

           //表示モードを設定

           glutInitDisplayMode(GLUT_RGBA);

 

           //ウィンドウを生成

           glutCreateWindow(argv[0]);

 

           //描画を行う関数を指定

           glutDisplayFunc(display);

 

           //初期化

           init();

 

           //メイングループ

           glutMainLoop();

 

           return EXIT_SUCCESS;

}



最後にmain関数です。

main関数は実際にコードの実行を行うための関数です。


02. 三角形を描画する


 

//描画関数

void display(void) {

           //バッファをクリア

           glClear(GL_COLOR_BUFFER_BIT);

           //描画する線の情報

           glColor3d(0.7, 1.0, 0.8); //線の色を指定

           glBegin(GL_LINE_LOOP); //囲み線の描画開始

           glVertex2d(0.0, 0.5); //点Aの座標(x, y: -1~1)

           glVertex2d(0.5, 0.0); //点Bの座標(x, y: -1~1)

           glVertex2d(-0.5, 0.0); //点Cの座標(x, y: -1~1)

           glEnd(); //描画終了

           glFlush(); //命令実行


}



まずバッファをクリアしましょう。

glClear(GL_COLOR_BUFFER_BIT)

glColor3d()色を指定します。

glBegin(GL_LINE_LOOP)は点と点とを線で結ぶための設定です。

glVertex2d()で点をプロットします。

glEnd()で描画を終了します。

glFlush()でdisplay関数を正常に実行させてコードの記述は終わりです。


03. まとめ


お疲れ様でした。

ここまで読んでいただきありがとうございました。

今回は基本的な三角形を描画しました。

図形の描画の基本となりますので押さえておきましょう。