배경색상은 한번 지정해두면 다른 값으로 바꾸지 않는 이상 계속 지속됩니다.
그래서 효율적인 코딩을 하기 위해서는
#include <gl/glut.h>
void DoDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2f(0.0, 0.5);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}
void initBackColor() // 메서드형태로 변신!{glClearColor(1, 0, 0, 0);}
void main()
{
glutCreateWindow("OpenGL");
glutDisplayFunc(DoDisplay);
initBackColor();glutMainLoop();
}
이러한 형태가 바람직합니다.
메인루프는 프로그램이 종료될때까지 돌기 때문에, 한번만 지정해줘도 되는 배경색을 루프돌면서 계속 지정해 줄 필요가 없기 때문입니다.
이번에는 삼각형의 색을 바꿔보는 마술을 보여드리겠습니다.
#include <gl/glut.h>
void DoDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,0,0);
// 삼각형을 그리기 전에 색상을 빨간색으로!
glBegin(GL_TRIANGLES);
glVertex2f(0.0, 0.5);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}
void initBackColor()
{
glClearColor(0, 0, 0, 0);
// 배경 검정색으로 변경}
void main()
{
glutCreateWindow("OpenGL");
glutDisplayFunc(DoDisplay);
initBackColor();
glutMainLoop();
}
요렇게!
'Graphics > OpenGL' 카테고리의 다른 글
OpenGL 기초 - 점, 선, 삼각, 사각, 다각형 (0) | 2014.05.17 |
---|---|
OpenGL 기초 - 상태머신, 버전조사 (0) | 2014.05.16 |
OpenGL 기초 - 기본타입, 함수형식 (0) | 2014.05.16 |
OpenGL 기초 - 삼각형 출력하기 (0) | 2014.05.16 |
OpenGL 라이브러리 설치 (0) | 2014.05.16 |