1. 예제: WhiteBox
#include <gl/glut.h>
void MyDisplay() {
glClear(GL_COLOR_BUFFER_BIT); // 컬러 버터의 초기화 색을 가함
glColor3f(1.0, 1.0, 1.0); // 칼라 지정
glBegin(GL_POLYGON); // 다각형 그리기
////3차원 좌표 상에 정점 4개 지정////
//화면좌표 ratio로 표현됨(가로세로 -1~1까지의 수치값)
glVertex3f(-0.5, -0.5, 0.0); // 좌하단 좌표
glVertex3f(0.5, -0.5, 0.0); // 우하단 좌표
glVertex3f(0.5, 0.5, 0.0); // 우상단 좌표
glVertex3f(-0.5, 0.5, 0.0); // 좌상단 좌표
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Drawing Example");
glutDisplayFunc(MyDisplay);
glutMainLoop();
return 0;
}
2. 예제2: 상자 속의 상자
#include <gl/glut.h>
void MyDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(0.0, 0.0, 1.0); //초록색 사각형
glVertex3f(-1.0, -1.0, 0.0);
glVertex3f(1.0, -1.0, 0.0);
glVertex3f(1.0, 1.0, 0.0);
glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f(0.0, 1.0, 0.0); //초록색 사각형
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f(1.0, 0.0, 0.0);
glVertex3f(-0.25, -0.25, 0.0);
glVertex3f(0.25, -0.25, 0.0);
glVertex3f(0.25, 0.25, 0.0);
glVertex3f(-0.25, 0.25, 0.0);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Drawing Example");
glutDisplayFunc(MyDisplay);
//glutDisplayFunc(MyDisplay2);
glutMainLoop();
return 0;
}
3. 상자 속의 상자 속의 삼각형
#include <gl/glut.h>
void MyDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(1.0, 1.0, 0.0); //초록색 사각형
glVertex3f(-1.0, -1.0, 0.0);
glVertex3f(1.0, -1.0, 0.0);
glVertex3f(1.0, 1.0, 0.0);
glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f(1.0, 0.0, 1.0); //초록색 사각형
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5, 0.0);
glEnd();
glBegin(GL_POLYGON);
glColor3f(0.0, 1.0, 1.0);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glVertex3f(0.0, 0.5, 0.0);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Drawing Example");
glutDisplayFunc(MyDisplay);
glutMainLoop();
return 0;
}