*입력 모드
- 메져 : 입력장치가 응용프로그램에 넘겨주는 입력 값
- 트리거 : 메져를 전달하라는 신호
- 이벤트 : 입력장치가 트리거 되는 순간 하나의 이벤트가 발생한 것으로 본다. (어떤 행위를 유발하는 것)
ex) 마우스를 어떤 위치에 갖다 놓고 클릭, 그 위치의 좌표(x, y) 값
이벤트 트리거 메져
- 이벤트 : 마우스를 어떤 위치에 갖다 놓고 클릭
- 트리거 : 클릭
- 메져 : 그 위치의 좌표(x, y) 값
*이벤트 타입별 콜백 함수
기능 | 콜백 함수 등록 명령 (예) | 콜백 함수 프로토 타입 |
화면 콜백 지정 명령 | glutDisplayFunc(MyDisplay) | void MyDisplay(); |
마우스 콜백 지정 명령 | glutMouseFunc(MyMouse) | void MyMouse(int button, int state, int x, int y); |
키보드 콜백 지정 명령 | glut(KeyboardFunc(MyKeyboard) | void MyKeyboard(char key, int x, int y); |
윈도우 창 크기 변경 | glutReshapeFunc(MyReshape) | void MyReshape(int width, int height); |
CPU가 쉬는 시간에 콜백 함수 호출 |
glutIdleFunc(MyIdle) | void MyIdle(); |
*마우스 이벤트
: 마우스 버튼을 눌렀거나 떼었을 때 트리거 (모션, 패시브가 속해있음) 된다.
- glutMotionFunc() : 버튼 누른 상태에서 마우스를 움직였을 때 함수 호출
- glutPassiveMouseFunc() : 버튼 상태에 무관하게 마우스를 움직이리 때 함수 호출
*키보드 콜백(특수 키 콜백)
- glutSpecialFunc() : 함수 키, 방향키 등 특수 키에 대한 콜백 함수를 등록.
- glutIgnoreKeyRepeat(1); : 키보드 연속 입력 무시.
- glutGetModifiers() : 이벤트 발생 시에 어떤 수식 키가 같이 눌러졌는지를 알기 위해 사용하는 함수.
*특수 키 정의
- F1~F12 : GLUT_KEY_F1,
GLUT_KEY_F2,
GLUT_KEY_F3,
GLUT_KEY_F4,
GLUT_KEY_F5,
GLUT_KEY_F6,
GLUT_KEY_F7,
GLUT_KEY_F8,
GLUT_KEY_F9,
GLUT_KEY_F10,
GLUT_KEY_F11,
GLUT_KEY_F12
- 방향 키 : GLUT_KEY_LEFT,
GLUT_KEY_RIGHT,
GLUT_KEY_UP,
GLUT_KEY_DOWN
- 이동 키 : GLUT_KEY_PAGE_UP,
GLUT_KEY_PAGE_DOWN,
GLUT_KEY_HOME,
GLUT_KEY_END,
GLUT_KEY_INSERT
(delete key 는 없음.)
- 조합 키 : GLUT_ACTIVE_SHIFT,
GLUT_ACTIVE_CTRL,
GLUT_ACTIVE_ALT
'Windows > OpenGL' 카테고리의 다른 글
07. OpenGL Programming - GL_POLYGON의 특성 (0) | 2014.10.12 |
---|---|
06. OpenGL Programming - GLUT의 기능 (0) | 2014.10.12 |
05. OpenGL Programming - 함수 구조와 데이터 타입 (0) | 2014.10.12 |
04. OpenGL 설치 및 테스트 (2) | 2014.10.11 |
03. OpenGL 학습을 위한 기본 지식 - 그래픽 API와 OpenGL (0) | 2014.10.11 |