'freeglut'에 해당되는 글 1건

  1. 2015.11.03 [OpenGL] glutMainLoop 종료 이후 프로세스 진행하는 방법

Console 기반으로 openGL 을 구동할때 glut 를 주로 사용합니다. (왜냐면 쉽고, 간편하니깐..^^;;)

 

사용법은 뭐 인터넷에 널리고 널렸으니, 생각할께요.

 

이때 glutMainLoop 를 통해서 종료 이벤트가 들어오기 전까지 계속 루프를 도는데, 여기서 루프를 종료 후, 후처리를 해야 하는 상황이 발생했습니다.

 

그래서 이리저리 알아 본 결과..

 

StackOverflow 사이트에서 답을 찾을 수 있었습니다.

 

http://stackoverflow.com/questions/5033832/what-is-the-nicest-way-to-close-glut

https://www.opengl.org/discussion_boards/showthread.php/136742-Exit-Main-Loop

 

 

 

 

첫번째 링크 타고 들어가셔서 보시면 아시겠지만, 귀찮으신 분들을 위해.. 무튼, 질문이 뭐 였었나면 GLUT를 가장 훌륭하게 닫는 방법이 뭘까? 였습니다.

 

그리고 이런 저런 댓글 중에 "나는 이 함수를 쓴다!" 라고 하면서

 

1
void glutLeaveMainLoop ( void ); 
cs

 

 이 함수를 적어 놨더군요.

 

그래서 이리저리 또 알아 본 결과, 이건 freeGlut 라고 해서 OpenGL을 대체 해서 (혹은 커버해서) 더 사용하기 편하게, 그리고 더 범용적으로 쓰기 위해 만든 라이브러리라고 합니다.

 

http://freeglut.sourceforge.net/

http://freeglut.sourceforge.net/docs/api.php#EventProcessing

 

 

 

아무튼, 여기서 freeGlut를 다운 받아서 CMake로 바이너리 빌드를 해주면, Visual studio 프로젝트 파일이 나옵니다.

 

그리고 해당 프로젝트 파일을 Visual studio 열어서 재빌드 해주면 끝 & 사용 준비 완료

 

아래 소스코드와 같이, 메인루프를 실행하기전에 glut 설정을 해주면 glutLeaveMainLoop() 를 통해 종료 후, 후처리를 할 수가 있습니다.

 

1
2
3
4
    //Post-Process after kill glut's loop
    glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION);
    //glut loop
    glutMainLoop();
cs

 

 

 

 

이로써 또 진도를 나가게 되었네요.

 

후담이지만, 매번 MFC로 작업하다가, 콘솔에서 간단히 작업하니깐 엄청 편하네요.

 

간단한 프로젝트는 앞으로 콘솔로 작업을 해야겠습니다. ㅎㅎ

 

 

 

 

기타 참고 한 사이트 :

https://cmake.org/

http://sourceforge.net/p/freeglut/bugs/224/

http://colorscripter.com/

http://colorscripter.com/info

 

 

 

 

 

'[ Topics ] > OpenGL' 카테고리의 다른 글

[OpenGL] Frame Rate  (6) 2013.08.03
Posted by Tommy™
,