반응형
프로그래밍/OpenGl
반응형
-
OpenGl 2편 - 키보드 반응 callback 주기2020.09.13
OpenGl 2편 - 키보드 반응 callback 주기
2020. 9. 13. 13:43
반응형
#include <gl/glut.h>
void MyDisplay() {
glClearColor(0.259, 0.259, 0.453, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
glVertex2f(-1.0, 0.0);
glVertex2f(0.0, 0.0);
glEnd();
glFlush();
}
/*키보드 입력이 들어왔을 때 어떤 동작을 할 것인가*/
void Mykeyboard(unsigned char key, int x, int y) {
switch (key) { //key가 입력받는 부분
case 'q':exit(0); //q를 누르면 window창이 꺼지도록 설정, cmd창은 꺼지지 않음
}
}
/*그냥 main함수 안에 넣기 복잡하니까 외부 함수로 갖고 나옴*/
void RegisterCallback() {
glutDisplayFunc(MyDisplay);//window창을 띄워줄 때 어떤 설정들을 갖고 띄워줄지에 대한 함수
glutKeyboardFunc(Mykeyboard);//window창을 띄운 이후, 키보드 값을 통해 어떤 반응을 할지에 대한 함수
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("Line with KeyboardCallback");
RegisterCallback();
glutMainLoop();
return 0;
}
RegisterCallback 함수는 제가 개인적으로 만든 함수입니다.
glutKeyboardFunc("설정값")
glutKeyboardFunc()함수 안에 들어갈 설정 함수에 매개변수를 맞춰줘야 합니다. unsigned char key, int x, int y를 해줘야 정상적으로 인식하고 프로그램이 실행됩니다.
반응형
'프로그래밍 > OpenGl' 카테고리의 다른 글
OpenGl 4편 - 3d 모형 반사광 재질 viewport Example (0) | 2020.09.26 |
---|---|
OpenGl 3편 - 3d 정육면체 그리는 코드 (2) | 2020.09.13 |
OpenGl 1편 - 화면 위에 여러 점 만들기 (0) | 2020.09.13 |