読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

OpenGLを始めた

OpenGLを始めてみました。DirectXの知識が流用出来て順調に進んでおります。今日は環境のセットアップで時間が潰れてしまいましたが(Awesomeというデスクトップ環境にスクリーンショット機能をつけるのに)、一応ここまで進みました。ネットの入門サイトで試しています。freeglutがあれば実行可能です。最近のOSは標準でついてる場合が多いようです。

#include <GL/glut.h>

void display(void){
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_LINE_LOOP);
    glVertex2d(-0.9, -0.9);
    glVertex2d(0.9, -0.9);
    glVertex2d(0.9, 0.9);
    glVertex2d(-0.9, 0.9);
    glEnd();
    glFlush();
}

void init(void){
    glClearColor(0.0, 0.0, 1.0, 1.0);
}

int main(int argc, char** argv){
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA);
    glutCreateWindow(argv[0]);
    glutDisplayFunc(display);
    init();
    glutMainLoop();
    return 0;
}

実行結果

2016-11-06-203056_958x1062_scrot

GL_POINTS
点を打ちます.
GL_LINES
2 点を対にして, その間を直線で結びます.
GL_LINE_STRIP
折れ線を描きます.
GL_LINE_LOOP
折れ線を描きます. 始点と終点の間も結ばれます.
GL_TRIANGLES / GL_QUADS
3 / 4 点を組にして, 三角形 / 四角形を描きます.
GL_TRIANGLE_STRIP / GL_QUAD_STRIP
一辺を共有しながら帯状に三角形/四角形を描きます.
GL_TRIANGLE_FAN
一辺を共有しながら扇状に三角形を描きます.
GL_POLYGON
凸多角形を描きます.

libaux1

次回はもう少しやれる量を増やします。

今日は柴田望洋先生のC++問題集が出来てないですね…。2,3問でも良いから進めないと。