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