線をひく&矩形描画
今まで、GLUTを使用しない場合いかに大変かを見てきたので、
今回からはOpenGLの内容を見て行く為GLUTを使用。
#include <GL/glut.h>
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3d(1.0, 0.0, 0.0); /* 赤色の線を指定 */
glBegin(GL_LINES);
glVertex2d(-0.9, -0.9);
glVertex2d(0.9, 0.6);
glEnd();
glFlush();
}
void init(void)
{
glClearColor(1.0, 1.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;
}
実行結果
今回は分かり易い様に、背景を白色に設定。
また線の色をglColor3d関数で赤に設定。
次はglBegin関数に「GL_LINE_LOOP」を指定。
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3d(1.0, 0.0, 0.0); /* 赤色の線を指定 */
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();
}
実行結果
四角形を塗りつぶす為にglBeginに「GL_POLYGON」を指定
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3d(1.0, 0.0, 0.0); /* 赤色の線を指定 */
glBegin(GL_POLYGON);
glVertex2d(-0.9, -0.9);
glVertex2d(0.9, -0.9);
glVertex2d(0.9, 0.9);
glVertex2d(-0.9, 0.9);
glEnd();
glFlush();
}
実行結果
0 件のコメント:
コメントを投稿