컴퓨터그래픽스

Xcode 를 통해 OpenGL 이용하기

goblin- 2023. 9. 3. 22:13

 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 ) {

    }

}

 함수를 추가하여 메뉴를 생성하였다.

 

 

코드로 작성한 것과 같이 메뉴가 실행되었다.