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 |