우동우동우's note

[OpenGL] Study Note 2 : 나의 첫번째 OpenGL App In Mac 본문

C & C++/OpenGL Study

[OpenGL] Study Note 2 : 나의 첫번째 OpenGL App In Mac

우동우동우 2013. 11. 18. 20:18

자 이제 개발 환경 세팅을 다 했으니 이제 프로그래밍을 해봐야죠! ㅎㅎ

이번 Note에서는 OpenGL로 간단한 2D 그림을 그리는 예제를 만들어 보도록 하겠습니다. 예제를 각 환경에서 만들어보도록 하겠습니다. (윈도우 Visual Studio 2010, 윈도우 Dev-C++, Mac X Code) 3가지 환경에서 예제를 만들어볼 것이며 예제는 삼각형을 그리는 예제를 만들어보도록 하겠습니다. 이번 포스팅에서는 Mac에서 작업한 것만 올리도록 하겠습니다. Window에서 컴파일 한 것은 다음 Note에서 보실 수 있을 겁니다. 최대한 빨리 올리도록 하겠습니다. 

다음 그림은 예제 화면입니다. 오늘 구현할 내용이죠. 



제목은 My First App이고 삼각형을 하나가 있습니다. 자 이제 시작하겠습니다. 

지난번 Note에서 Mac에서는 X Code만 있으면 되기 때문에 별다른 환경설정이 필요하지 않아서 포스팅이 빠져있다. 그럼 다음 그림과 같이 설정을 해주면 OpenGL을 사용할 준비가 된다는 것을 꼭 익혀주시기 바랍니다. ㅎㅎ


프로젝트 생성 및 라이브러리 링크 설정해주기


1. 프로젝트 생성하기 

위 사진과 같이 Commend Line Tool 을 선택하시고 프로젝트를 생성해주세요. 


2. 프로젝트 이름 설정하기..

저는 MyFirstApp으로 이름을 지었습니다. 뭐 이름은 여러분들이 편하신 것으로 하셔도 될 것 같습니다. 


3. Library 설정하기 

Build Phases 에서 Link Binary With Library에 아래의 그림과 같이 OpenGL.framework와 GLUT.framework를 추가해줍니다. 


이제 기본 준비가 끝났습니다. 


그럼 이제 main.cpp 앱을 코드로 구현해보겠습니다. 


main.cpp (Mac)

#include <GLUT/GLUT.h>

void onDisplay(void);

void onDisplay(void){
    
    // 화면 리셋
	glClear(GL_COLOR_BUFFER_BIT);
    
    // 삼각형 그리기 시작
    glBegin(GL_TRIANGLES);
    
    // 모서리 지정
    glVertex2f(0.0, 0.5);
    glVertex2f(-0.5, -0.5);
    glVertex2f(0.5, -0.5);
    
    // 삼각형 그리기 종료
    glEnd();
    
    // flush
    glFlush();
}

int main(int argc, char * argv[])
{
    glutInit( &argc, argv ); // init
    glutCreateWindow("My First App"); // 윈도우 만들기
    glutDisplayFunc(onDisplay); // 디스플레이 함수 설정해주기
    glutMainLoop(); // 시작하기
    return 0;
}

main.cpp (Mac)

이제 실행해 보시면 앱이 구동될 것입니다. 

MyFirstApp.zip

소스에 대한 자세한 설명은 다음 Note에서 작성하도록 하겠다. 


Comments