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 웹페이지를 살펴보세요.
Visual C/C++ 6.0 환경 설정하기
Visual C/C++ 로 프로젝트를 만들려면 두가지를 설정해줘야 합니다. 하나는 콘솔 프로그램으로 만들 것인지 아니면 Win32 프로그램으로 만들 것인지 정해야합니다. 콘솔로 만들게 되면 어플리케이션은 두 개의 창을 갖게 됩니다. 하나는 콘솔창이고 다른 하나의 OpenGL 창이랍니다. Win32 를 선택했을 때 GLUT 를 사용하면 Win32 로 어플리케이션을 만들 때 만나게 되는 '프로그래머 혼란스럽게 하기' 란 장애물을 피해갈 수 있습니다. :) 이를 위해서 아래의 과정을 따라 하나만 바꿔주세요.
이미 만든 콘솔 프로젝트를 Win32 어플리케이션 프로젝트로 만들려면 아래의 과정을 따라 설정해주면 됩니다. 콘솔에서 Win32 로 바꾸는 것은 콘솔창을 만들지 않기 위해서겠죠?
위의 과정을 일일이 다 해주기 귀찮다면 소스코드의 시작부분에 아래의 코드를 입력해주세요. 위의 과정과 똑같이 프로젝트를 설정해줍니다.
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
프로젝트를 위의 과정에 따라 올바르게 설정했다면 콘솔창은 없고 OpenGL 창만 있는 어플리케이션이 만들어집니다. 두번째 설정은 GLUT 를 어플리케이션에 링크해주는 것인데 Visual C/C++ 을 사용한다면 아래의 과정을 따라 설정하면 됩니다.
주목 : glu32.lib 과 opengl32.lib 을 추가했습니다. 이 두개의 라이브러리 파일은 OpenGL 의 표준 라이브러리입니다. GLU 는 OpenGL 이 배포하는 표준 API 입니다.
모든 설정이 끝났나요? 잘 끝냈기를 바랍니다 :) 그럼 이제 GLUT 를 이용해서 어플리케이션을 만들어봅시다. 이 강좌에서 확실하지 않거나 궁금한 점이 있으면 연락해 주세요. 성실하게 답해드릴께요. 이런 강좌는 여러분들의 참여가 아주 중요하거든요.
이 강좌가 여러분들에게 도움이 되길 바랍니다. - Antonio -
좋은 팁!
출처: Grafix3d.net
원문 : http://www.lighthouse3d.com/opengl/glut/index.php3?1
[OpenGL]라이브러리와 헤더, GLUT(OpenGL Utility Toolkit) (0) | 2008.10.13 |
---|
- OpenGL의 라이브러리와 헤더
각 윈도우 시스템마다 OpenGL 렌더링을 위해 기존 윈도우 시스템의 기능을 확장시켜 주는 라이브러리가 있다.
< 해당 시스템의 라이브러리 목록 >
X Window System
- GLX( OpenGL Extension to the X Window System ) : GLX 루틴 앞에는 glx라는 접두사를 사용.
MS Windows 95/98/NT
-WGL( OpenGL Interface for Windows) : WGL 루틴앞에는 wgl 이라는 접두사를 사용.
IBM OS/2
-PGL ( Presentation Manager to OpenGL Interface ) : PGL 루틴앞에는 pgl 이라는 접두사를 사용.
Apple
-AGL : AGL 루틴앞에는 agl 이라는 접두사를 사용.
<헤더>
# include 파일 ( 여기서는 윈도우 중심에서 이야기하므로 윈도우환경 기준에서 설명한다. )
: 일반적으로 OpenGL 애플리케이션을 작성할 때 gl.h 라는 헤더파일을 추가한다.
또한 OpenGL 애플리케이션에서 GLU를 사용하기 때문에 glu.h 라는 헤더파일도 함께 추가한다.
그래서 일반적인 윈도우즈 프로그램의 거의 모든 OpenGL 소스파일들은 다음과 같은 문장으로 시작한다.
/*
MS Windows에서는 windows.h를 먼저 작성해야 하는데, 이는 gl.h와 glu.h에서 내부적으로 사용하고 있는
일부 매크로들이 windows.h 라는 파일에도 정의되어 있기 때문이다.
*/
#include <windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
/*
주의점 : 프로젝트 생성시, 반드시 opengl32.lib 와 glu32.lib 라이브러리를 반드시 추가해 주어야 한다.
추가환경 : VC .net 2003 ( 프로젝트 - 속성 - 링커 - 입력 - 추가종속성 - opengl32.lib, glu32.lib 추가 )
*/
- GLUT ( OpenGL Utility Toolkit )
: GLUT 가 사용되기 이전에는 AUX( OpenGL auxiliary library : OpenGL 보조 라이브러리 ) 가 주로 사용되었다.
AUX 라이브러리는 서로 다른 환경에서의 OpenGL 프로그래밍을 보다 편리하게 진행하도록 하기 위해 개발된 것으로, 유닉스나 윈도우즈용
AUX 를 통해 해당 플랫폼에 OpenGL을 활용하는 과정을 돕는 역할을 했다.
하지만 GUI 기능이 부족했기 때문에 유용한 애플리케이션을 만드는 데는 무리가 있었다.
이후에 AUX는 GLUT로 대체되어 다양한 플랫폼에서의 프로그래밍에 사용되기 시작했는데, GLUT는 OpenGL 유틸리티 툴킷의 약자로 ,
SGI 의 직원이었던 Mark Kilgard 에 의해 개발되었다. GLUT는 AUX의 단점이었던 GUI 기능을 추가하여 팝업 메뉴의 사용, 다른창의 관리,
조이스틱 지원 등의 기능을 갖추었으며, 공개되어 있지는 않지만 무료이므로 사용과 배포가 자유롭다.
GLUT 에서는 구나 토러스, 주전자 등과 같이 복잡한 3차원 오브젝트를 생성하기 위한 루틴들을 제공하고 있으며, 이러한 루틴을 사용하면 복잡한
그림을 쉽게 그릴 수 있다.
GLUT가 완전한 기능을 갖춘 OpenGL 애플리케이션을 제작하기에는 적합하지 않으며, 학습용으로는 충분한 제 기능을 발휘할 것이다.
( OpenGL SuperBible 3rd 와 OpenGL 프로그래밍 가이드 제 4판 에서는 GLUT를 사용한다. )
/*
GLUT 의 강점은, 윈도우 콘솔모드에서 작업을 해도 GUI 창이 하나 생성되며, 자신의 프로그래밍 환경에 맞게 설정하는 과정만 거치면
리눅스나 매킨토시에서도 사용이 가능하다는 것이다.
*/
- GLUT 설치와 사용법
/*
glut.h 에는 gl.h 와 glu.h 도 포함되어 있기 때문에, 세 개의 헤더 파일 모두에 대해 include 문장을 적어줄 필요가 없다.
glut.h 역시 MS Windows의 경우와 마찬가지로, 운영체제에 종속적인 매크로들이 정의되어 있다.
*/
#include <windows.h>
#include <gl/glut.h>
/*
GLUT 라이브러리를 사용하기 위해서는, glut32.dll 과 glut32.lib , glut.h 파일은 웹에서 검색하면 쉽게 구할 수 있는데,
각각 붙여넣을 파일 디렉토리는 아래와 같다. ( VC 7.0 기준 )
glut32.dll : C:\windows\system32 에 복사.
glut32.lib : C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib
glut.h : C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl
물론 프로젝트 생성시, 위 그림에서 glut32.lib 하나만 더 추가해주면 된다.
*/
★최고보단 최선을 | 일퍼센트
http://blog.naver.com/lemonbar80/70019880893
GLUT Tutorial GLUT Setting (0) | 2008.10.13 |
---|