Computer Science/학부 및 대학원 과목

GLUT의 윈도우 기능

꾸준희 2015. 11. 22. 14:38
728x90
반응형


함수명

 기능설명

 윈도우 초기화

 glutInit()

윈도우 운영체제와 세션 연결 

 glutInitWindowPosition()

윈도우 위치 설정 

 glutInitWindowSize()

윈도우 크기 설정 

 glutInitDisplayMode

디스플레이 모드 설정

 윈도우 관리

 glutSetWindowTitle()

윈도우 타이틀 설정 

 glutCreateWindow()

새로운 윈도우 생성 

 glutReshapeWindow()

크기 변경에 따른 윈도우 조정 

 glutPostRedisplay()

현 윈도우가 재생되어야 함을 표시 

 glutSwapBuffers()

현 프레임 버퍼 변경


1. glutInit(int *argc, char **argv)

GLUT 라이브러리를 초기화 한 후 윈도우 시스템과 세션을 연다.


2. glutInitWondowPosition(int x, int y)

윈도우 좌상단을 화면좌표(x, y)에 위치시키는 함수다. 화면 좌표는 화소 단위로 측정되기 때문에 정수타입으로 선언되었다. GLUT의 화면 좌표계는 화면의 좌상단을 원점으로 하고, 오른쪽을 +x 축으로, 아래쪽을 +y 축으로 정의한다. 이러한 GLUT의 화면 좌표계는 윈도우 운영체제의 좌표계와 일치하지만 지엘의 화면 좌표계와는 다르다는 점에 유의해야한다.


3. glutInitDisplayMode(unsigned int mode)

생성된 윈도우의 디스플레이 모드를 설정하는 함수다. 괄호 안의 모드 변수에는 아래와 같은 상수 값을 선택할 수 

GLUT_RGB 

GLUT_INDEX

GLUT_RGBA

GLUT_SINGLE : 단일버퍼를 가진 창을 선택, 이 값이 기본 설정임
GLUT_DOUBLE : 이중버퍼를 가진 창을 선택, 이 값은 SINGLE 위에 덮어 씌어짐

GLUT_ACCUM : 누적버퍼를 가진 창을 선택

GLUT_ALPHA : 색상버퍼에 알파값을 가진 창을 선택

GLUT_DEPTH : 깊이버퍼를 가진 창을 선택


컬러모드는 GLUT_RGB를 사용하면 RGB 모드로, GLUT_INDEX를 사용하면 인덱스 모드로 설정된다. 프레임모드는 GLUT_SINGLE을 사용하면 단일버퍼, GLUT_DOUBLE을 사용하면 더블버퍼로 설정된다. 두가지 이상의 모드 값을 명시하려면 OR 연산자를 사용하면 된다.  


4. glutReshapeWindow(int width, int height)

프로그램 실행 중 사용자가 윈도우 크기를 재조정했을 때 호출되는 함수다. 윈도우 운영체제는 사용자가 변경한 윈도우의 폭과 높이를 이 변수를 통해 GLUT에게 전달한다.


5. glutPostRedisplay()

이 함수는 현재의 윈도우를 재생하도록 요구하는 것이다. 예를 들어 이전 윈도우에 그려진 내용을 프로그램에 의해 변경했을 때는 프로그램으로서는 가장 빠른 시간안에 변경된 모습을 윈도우에 재생하도록 드라이버에게 요청해야한다. 그 때 이 함수를 사용한다.


6. glutSwapBuffers()

더블 버퍼링에서는 프런트 버퍼의 내용이 화면에 뿌려지는 동안 새로운 내용이 백 버퍼에 쓰여진다. 백 버퍼에 기록이 완료되는 순간 이번에는 백 버퍼가 프런트 버퍼가 되어 그 내용이 화면에 뿌려진다. 이 때 백 버퍼와 프런트 버퍼를 교대하기 위한 함수로 쓰인다. 


728x90
반응형