2011년 8월 16일 화요일

OpenGL 프로그래밍에 대해서

OpenGL은 하드웨어 독립적인 2D/3D 그래픽 라이브러리이다. SGI사의 IRIS GL라이브러리를 기초로 개발되었지만 개방형이다. 그래픽 라이브러리이기 때문에 기본적인 창관리와 입력처리에 대한 부분이 없다. 그래서 GLUT이라는 보조 도구를 이용해서 창을 관리하고 입력을 관리하는 방법을 제공한다. 이것도 역시 시스템 독립적이기 때문에 OpenGL과 GLUT의 조합이면 어떤 시스템에서도 동일한 결과를 갖는 프로그램을 개발 할 수 있다.

GLUT: OpenGL 유틸리티 툴킷을 줄인 말인 것 같다. 내부에 많은 상태 변수들을 관리하고 있단다. 간단히 초기화하고 창에 점과 선만 그릴 수 있었음 만족한다. 간단히 초기화 하는 법은 다음과 같다.


#include  

void MyIdle(void)
{
   /* 사용된 변수값을 다음 프레임의 상태로 수정해 주는부분*/
};

void MyDisplay(void)
{
   /* 프레임에 실제 그림을 그리는 OpenGL명령어들이 들어간다. */
   /* 프레임이 다 그려진 다음 버퍼를 교체한다. */
   glutSwapBuffers();
};

void main(int argcp, char **argv)
{
   /* GLUT상태를 초기화 한다. */
   glutInit(&argcp, argv);
   glutInitWindowSize(640, 480);
   glutInitWindowPosition(0, 0);

   /* 창을 연다. */
   glutCreateWindow("My OpenGL Application");

   /* 디스플레이모드를 선택한다.:
      이중버퍼 & RGBA색상 */
   glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);

   /* 콜백함수들을 등록한다. */
   glutDisplayFunc(MyDisplay)
   glutIdleFunc(MyIdle)

   /* 이벤트 처리엔진을 시작한다 */
   glutMainLoop();
};


댓글 없음:

댓글 쓰기