OpenGL

[OpenGL] 사각형, 삼각형 그리기

Let it out 2024. 2. 13. 19:31
반응형

사각형, 삼각형 그리는 방법에 대한 예제다.

 

사각형 그리기

lgVertex2f 함수로 꼭짓점을 4개 찍어서 사각형을 그렸다.
#include <GL/freeglut.h>
void draw(void)
{
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //배경 색상 설정(흰색)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 화면 초기화
    glColor3f(0.0f, 0.0f, 1.0f); //그림 색상 r,g,b(파란색)
    //glBegin() ~ glEnd() 사이에 코드 구현.
    glBegin(GL_POLYGON); //도형 그리.
    glVertex2f(-0.5f, -0.5f); // 꼭짓점 위치 선택
    glVertex2f(0.5f, -0.5f);
    glVertex2f(0.5f, 0.5f);
    glVertex2f(-0.5f, 0.5f);
    glEnd();
    glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);//윈도우 운영체제 연결
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH);//디스플레이 모드
    glutInitWindowPosition(700, 300);//윈도우 창 위치
    glutCreateWindow("Example");//윈도우 창 타이틀
    glOrtho(-1, +1, -1, +1, 0.0, 0.0); //평행 투영
    glutDisplayFunc(draw); //display 해주기
    glutMainLoop();
    return 0;
}
 
 

실행 결과

 

 

 
 
 

삼각형 그리기

꼭짓점을 3개만 찍어서 삼각형을 만들 수 있다 이런 식으로 다각형이 가능하다.
 
꼭짓점은 꼭 3개 이상 이여야 한다.
 
glcolor3f(1.0, 0.0, 0.0); 을 해주면 빨간색으로 변한다.
#include <GL/freeglut.h>
void draw(void)
{
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //배경 색상 설정(흰색)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 화면 초기화
    glColor3f(1.0f, 0.0f, 0.0f); //그림 색상 r,g,b(파랑색)
    //glBegin() ~ glEnd() 사이에 코드 구현.
    glBegin(GL_POLYGON); //도형 선택.
    glVertex2f(-0.5f, -0.5f);
    glVertex2f(0.5f, -0.5f);
    glVertex2f(0.5f, 0.0f);
    glEnd();
    glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);//윈도우 운영체제 연결
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH);//디스플레이 모드
    glutInitWindowPosition(700, 300);//윈도우 창 위치
    glutCreateWindow("Example");//윈도우 창 타이틀
    glOrtho(-1, +1, -1, +1, 0.0, 0.0); //평행 투영
    glutDisplayFunc(draw); //display 해주기
    glutMainLoop();
    return 0;
}
 
 
 

실행 결과

 

 

반응형