GLUT Tutorials

GLUT 설정

GLUT 는 OpenGL 을 위한 표준 유틸리티 툴킷입니다. 즉 OpenGL 용 어플리케이션의 개발을 편하게 할 수 있도록 도와주는 도구로 생각하면 됩니다. Mark J. Kilgard 씨가 GLUT 를 만들었는데, 그 이유는 특정 윈도우 시스템들을 알지 못해도 OpenGL 용 어플리케이션을 만들 수 있도록 하기 위해서 였죠. 너무나 고마운 일 아닙니까? Mark J. Kilgard 씨와 GLUT 에 고마워합시다~ :) GLUT 를 사용하면 X 윈도우 시스템이나 마이크로소프트의 윈도우 시스템에 대해서 배우지 않고도 OpenGL 용 어플리케이션을 만들 수 있습니다. Kilgard 씨가 X 윈도우용의 GLUT 를 만들었고 나중에 Nate Robins 씨가 마이크로소프트 윈도우즈용의 GLUT 를 만들었답니다. 우리 모두 이 두사람의 위대한 업적에 갈채를 보냅시다!

이 강좌는 GLUT 를 사용해서 어플리케이션을 만드는 방법을 설명합니다. 단, 예제의 코드를 가능한 간단하게 만들기 위해서 화려한 시각 효과 같은건 만들지 않겠습니다.

무엇이 필요한가요?

GLUT 를 이용해서 어플리케이션을 만들려면 우선 최신버전의 GLUT 가 필요해요. 당연한 얘기인가요 ;) 이 글을 쓸 때, GLUT 의 최신버전은 3.7 이었습니다. GLUT 배포판은 아주 많은 예제를 포함하고 있기 때문에 이 강좌를 다 보고 난 다음에 예제를 분석해 보는 것이 좋겠죠? 당연한 얘기입니다! :) GLUT 가 없거나 GLUT 에 대해서 궁금한 것이 있으면 GLUTs 웹페이지를 살펴보세요.

GLUT 를 사용해서 C 언어로 어플리케이션을 만들려면 3 개의 파일이 필요합니다. :

  • glut.h - 이 파일은 어플리케이션의 소스코드에 항상 포함해야하는 파일입니다. 이 파일은 대개 여러분이 사용하는 개발툴 시스템의 include 폴더 아래에 있는 gl 폴더에 들어있습니다.
  • glut.lib ( SGI 의 윈도우즈 버전 ) 과 glut32.lib ( 마이크로소프트 버전 ) - 이 파일은 glut 를 이용하는 어플리케이션이라면 반드시 링크해야 합니다. 대개 개발툴 시스템의 lib 폴더에 들어있죠.
  • glut.dll ( SGI 의 윈도우즈 버전 ) 또는 glut32.dll ( 마이크로소프트 버전 ) - OpenGL 을 사용하기 위해서 둘 중 하나만 선택하면 됩니다. 마이크로소프트 버전의 glut 를 사용하려면 glut32.dll 파일을 선택하세요. 이 파일은 운영체제의 system 폴더에 있어야합니다.

Visual C/C++ 6.0 환경 설정하기

Visual C/C++ 로 프로젝트를 만들려면 두가지를 설정해줘야 합니다. 하나는 콘솔 프로그램으로 만들 것인지 아니면 Win32 프로그램으로 만들 것인지 정해야합니다. 콘솔로 만들게 되면 어플리케이션은 두 개의 창을 갖게 됩니다. 하나는 콘솔창이고 다른 하나의 OpenGL 창이랍니다. Win32 를 선택했을 때 GLUT 를 사용하면 Win32 로 어플리케이션을 만들 때 만나게 되는 '프로그래머 혼란스럽게 하기' 란 장애물을 피해갈 수 있습니다. :) 이를 위해서 아래의 과정을 따라 하나만 바꿔주세요.

  1. 주메뉴의 Project->Settings 를 선택하세요.
  2. 대화상자에서 "Link" 탭을 선택하세요.
  3. 콤보박스의 "Category" 에서 "Output" 을 선택하세요.
  4. "Entry-point symbol" 에디트박스에 "mainCRTStartup" 이라고 입력하세요.

이미 만든 콘솔 프로젝트를 Win32 어플리케이션 프로젝트로 만들려면 아래의 과정을 따라 설정해주면 됩니다. 콘솔에서 Win32 로 바꾸는 것은 콘솔창을 만들지 않기 위해서겠죠?

  1. 위의 과정을 따라서 entry-point symbol 을 추가합니다.
  2. "Project Options" 에디트박스에서 "subsystem:console" 을 "subsystem:windows" 로 바꿔줍니다.

위의 과정을 일일이 다 해주기 귀찮다면 소스코드의 시작부분에 아래의 코드를 입력해주세요. 위의 과정과 똑같이 프로젝트를 설정해줍니다.

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

프로젝트를 위의 과정에 따라 올바르게 설정했다면 콘솔창은 없고 OpenGL 창만 있는 어플리케이션이 만들어집니다. 두번째 설정은 GLUT 를 어플리케이션에 링크해주는 것인데 Visual C/C++ 을 사용한다면 아래의 과정을 따라 설정하면 됩니다.

  1. 주메뉴의 Project->Settings 를 선택하세요.
  2. 대화상자에서 "Link" 탭을 선택하세요.
  3. "Object/library modules" 에디트박스에 "opengl32.lib glut32.lib glu32.lib" 을 입력합니다.

주목 : glu32.lib 과 opengl32.lib 을 추가했습니다. 이 두개의 라이브러리 파일은 OpenGL 의 표준 라이브러리입니다. GLU 는 OpenGL 이 배포하는 표준 API 입니다.

모든 설정이 끝났나요? 잘 끝냈기를 바랍니다 :) 그럼 이제 GLUT 를 이용해서 어플리케이션을 만들어봅시다.