OpenGL 을 Open하다
Direct3D를 공부하던 중에 Wow Model View 프로그램 소스를 보게 되었다
(
http://www.wowmodelviewer.org/index.php?option=com_remository&Itemid=35&func=select&id=3
)
그런데 이 프로그램은 OpenGL로 되어있는 것이다. 이 참에 OpenGL을 조사를 하던중 이상한 점을 발견했다.
OpenGL SDK를 다운 받으러 갔지만 Extention만 있고 SDK 소스는 없는 것이다.
결국 opengl32.dll과 glu32.dll은 윈도우의 시스템 파일로 기본으로 내장되어 있고 *.lib도 윈도우 SDK에 있는 것을 알아냈다.
하지만 windows에서 지원하는 것은 opengl 1.1(1995) 버전으로 그것도 D3D wrapper 형태로 지원한다.(ver1.0=1992, ver2.0=2004, ver2.1=2006)
opengl 2.0이상을 쓰고 싶다면 extension함수 포인터를 읽어와서 초기화 해야 하는데 GLEE나 GLEW등의 Extension library들이 이런 일을 대신해 준다
참조 :
http://www.opengl.org/wiki/index.php/Getting_started http://www.opengl.org/registry/
사이트에서 최신 버전의 extension header파일 다운
* OpenGL과 Direct3D 비교
http://www.ozone3d.net/opengl_direct3d_tutorials.php
다음은 위의 예제로 내 컴퓨터에서 테스트한 속도의 결과이다.
OpenGL은 업데이트 한지가 오래됬고 여러 플랫폼을 지원하는 데도 속도가 느리지 않다.
이제 뭘로 가야할지 가닥이 잡힌다.
FPS | ||
tut No | OpenGL | Direct3D |
2 | 1030 | 995 |
3 | 1305 | 1185 |
4 | 1280 | 1190 |
5 | 1225 | 1215 |
7 | 1370 | 1200 |
8 | 1015 | 760 |
9 | 1250 | 1100 |
10 | 680 | 655 |
11 | 1470 | 1350 |
* OpenGL 버전
1.0 - 1992
1.1 - 1995 <--windows system 지원
2.0 - 2004
2.1 - 2006 Aug
< Utility Library >
* GLU - OpenGL Utility Library
- 시스템에 포함됨
- 참조 GLU1.3 http://www.geocities.com/vmelkon/glu.html
* GLX - "OpenGL Extension to the X Window System")
* GLUT - OpenGL Utility Toolkit
- http://www.xmission.com/~nate/glut.html
- 2001 nov - GLUT for Win32 version 3.7.6
* GLUI - OpenGL User Interface Library
- http://glui.sourceforge.net/
- 2006 July - GLUI 2.3
* Mesa 3D
- http://www.mesa3d.org/
- 2007 Nov - Mesa 7.0.2
- GLU 소스 있음
< OpenGL Extension Libraries >
* GLEW - The OpenGL Extension Wrangler Library
- http://glew.sourceforge.net/
- 2007/04 - GLEW 1.4.0
- GLEW is included in the NVIDIA OpenGL SDK
- Support OpenGL 2.1, WGL, GLX extensions
* GLee
- http://elf-stone.com/glee.php
- 2006.11 - GLee 5_21
- support gl21
* OpenSceneGraph
- http://www.openscenegraph.org/projects/osg
- 2007 October - OpenSceneGraph 2.2
- open source high performance 3D graphics toolkit,
* Equalizer
- http://www.equalizergraphics.com/
- 2007-10-28 - Equalizer-0.4.1.tar.gz
- still beta
'Code' 카테고리의 다른 글
[vc6] VC6에서 최신(XP) DDK 사용 (0) | 2008.11.05 |
---|---|
[vc6] uuid.lib 관련 링크에러 (0) | 2008.11.05 |
잠긴 파일 지우기 (0) | 2008.11.05 |
glaux.lib(tk.obj) : error LNK2001: unresolved external symbol __ftol2 (0) | 2008.11.05 |
* 게임 엔진에 대한 간단한 정리 (0) | 2008.11.05 |