[c++] OpenGL에서의 다각형 그리기

OpenGL은 2D 및 3D 그래픽을 렌더링하기 위한 강력한 라이브러리로, 다양한 도형을 그릴 수 있습니다. 여기에는 다각형(정다각형 또는 불규칙 다각형)을 그리는 것도 포함됩니다. 이 글에서는 OpenGL에서 다각형을 그리는 방법에 대해 알아보겠습니다.

다각형 생성하기

OpenGL에서 다각형을 그리려면 각 점의 좌표를 정의하고, 그것들을 연결하여 다각형을 만들어야 합니다. 예를 들어, 삼각형을 그리기 위해 3개의 점을 정의하고, 이들을 이어주는 선을 그어야 합니다.

glBegin(GL_POLYGON);
glVertex2f(0.0, 0.5); // 첫 번째 점
glVertex2f(0.5, -0.5); // 두 번째 점
glVertex2f(-0.5, -0.5); // 세 번째 점
glEnd();

위의 코드 예제에서 glBegin(GL_POLYGON)은 그리기를 시작한다는 것을 의미하고, glEnd()는 그리기를 끝낸다는 것을 의미합니다.

색상 채우기

다각형을 그린 후에는 그것을 채울 색상을 정의할 수 있습니다. 예를 들어, 삼각형을 빨간색으로 채우는 경우 다음과 같이 할 수 있습니다.

glColor3f(1.0, 0.0, 0.0); // 빨간색

그리기

위의 단계들을 거치면 OpenGL은 지정한 점들을 이어서 다각형을 그리고 채우기 색상을 적용합니다.

다음은 OpenGL을 사용하여 다각형을 그리는 예제 코드입니다.

#include <GL/glut.h>

void display() {
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glVertex2f(0.0, 0.5);
    glVertex2f(0.5, -0.5);
    glVertex2f(-0.5, -0.5);
    glEnd();
    glColor3f(1.0, 0.0, 0.0);
    glFlush();
}

int main(int argc, char** argv) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(500,500);
    glutCreateWindow("Polygon");
    glutDisplayFunc(display);
    glClearColor(1.0, 1.0, 1.0, 1.0);
    gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
    glutMainLoop();
    return 0;
}

위 코드를 실행하면 빨간색으로 색칠된 삼각형이 보일 것입니다.

위의 예제코드를 실행하기 위해서는 OpenGL 및 GLUT(OpenGL Utility Toolkit) 라이브러리가 필요합니다.

이렇게 OpenGL을 사용하여 다각형을 그릴 수 있습니다. 위의 예제를 참고하여 다양한 다각형을 그려보세요!