Xcode 를 통해 OpenGL 이용하기
mac Os를를 사용중이기 때문에 Opengl을 사용하기 위해서 Xcode를 사용하였다.
먼저 Xcode 를 실행 후 Create a new Xcode porject를 클릭한다.
그 후 macOs 칸에있는 Command Line Tool를 클릭한다.
Product Name을을 설정한 후 Next를 클릭한다.
Build Phases 칸으로 들어간 후 Link Binary With Libraries에에 Glut 프레임워크와 OpenGl 프레임워크를 추가시켜 준다.
이제 기본적인 세팅은 끝났고 코드를 작성해주기만 하면 된다.
기존 #include <gl/glut.h> 은 위도우에서 쓰는 방식이므로 #include<GLUT/glut.h> 로 변경하였다.
초반 기본세팅 때 C++을 선택하였기 때문에 stdil.h 헤더파일은 존재하지않아 이번에는 쓰지 않았다.
여기서 노란색으로 경고창이 뜨는 부분은 맥Os에서 앞으로 OpenGL Api를 지원하지 않는다는 경로창이므로 #define GL_SILENCE_DEPRECATION을을 통해 삭제시켰다.(#include <GLUT/glut.h> 위에 써줘야함)
성공적으로 결과값이 나온 것을 볼 수 있다.
다음은
void mouse(int button, int state, int x, int y) {
/* 인자들을 해석해서 원하는 기능을 구현 */
printf("Mouse button is clicked! (%d, %d, %d, %d)\n", button, state, x, y);
}
함수를 추가시켜서 기능을 추가했습니다. main에 glutMouseFunc(mouse); 부분을 glutDisplayFunc(draw) 와 glutMainLoop() 함수 사이에 작성해야정상적으로 작동되는 것을 확인했다.
실행 결과이다.
마우스가 클릭된 좌표를 확인할 수 있다.
다음은
void motion ( int x, int y )
{
/* 인자들을 해석해서 원하는 기능을 구현 */
printf ( "Mouse is moving! (%d, %d)\n", x, y );
}
함수를 사용해 현재 마우스의 좌표를 출력해보겠다.
마우스를 클릭하고 좌표를 움직일 때마다 좌표값이 찍히는 것을 확인할 수 있다.
다음은
void keyboard ( unsigned char key, int x, int y ) {
/* 인자들을 해석해서 원하는 기능을 구현 */
printf ( "You pressed %c\n", key);
}
함수를 출력하여 현재 키보드로 입력한 값을 출력하겠다.
문자와 숫자가 잘 출력되는 것을 볼 수 있다.
다음은
/* MENU 처리 함수 – 메뉴 선택시 수행됨 */
void sub_menu_function ( int option ) {
printf("Submenu %d has been selected\n", option);
}
void main_menu_function(int option) {
printf("Main menu %d has been selected\n", option);
if ( option == 999 ) {
}
}
두 함수를 추가하여 메뉴를 생성하였다.
코드로 작성한 것과 같이 메뉴가 실행되었다.