-
Open GL의 소개및 관련링크3D Graphics/Open GL 2007. 4. 16. 00:53728x90
- 1 목차
- 1.1 nvidia
- 2 이론적인 것들
- 3 NPL(Non-Photorealistic Lightning)
- 4 지형
- 5 택스쳐
- 6 트루타입 폰트 랜더링
- 7 파티클
- 8 캐릭터 애니메이션
- 9 충돌체크 및 물리엔진
- 10 관련 번역
- 11 Nehe Tutorial
- 12 팁
- 13 GL 확장
- 14 아티클
- 15 링크
- 16 3D 엔진
- 16.1 소규모 라이브러리
- 17 자료
[edit]1 목차 #
- OpenGL 프로그래밍 가이드 온라인 - 책으로 출간된 프로그래밍 가이드의 온라인 버젼입니다.
- OpenGL Win32 Tutorial - (0%) Win32 환경에서 GL 프로그래밍 시작하기
- OpenGL Extension 사용하기 - OpenGL 게임 만드는데 필수라고 할 수 있는 Extension 사용법
- All About OpenGL Extensions - (번역:0%) 유명한 NVidia의 Mark Kilgard란 사람이 쓴 Extension에 대한 글입니다. GLUT의 제작자로 유명하죠. 몇가지 게임제작에 쓸만한 Extension을 소개하고 있습니다.
- Max 플러그인 프로그래밍 - (0.1%) 3D 프로그래밍을 하는데 있어서 단계 중 하나인 MAX 플러그인 제작에 관한 글입니다. 생각보다 방대한 내용이 될 듯. 순수 자작.
- MAX SDK 개발자 포럼
- VAR 이야기 - (100%) 가속성능을 얻기위해서는 기본이 되는 extension인 VAR 사용법
- CVA 이야기 - (소스포함. 0%) Compiled Vertex Array 이용 소스. 멀티패스 랜더링이 필요할때 사용되면 효율적임.
- Introduction To Octrees - (0%) 옥트리에 대한 개요 및 소개
- ROAM Implementation Optimizations - (0%) ROAM 알고리즘을 이용한 지형생성 개요
- http://www.g-matrix.pe.kr/feature/3dengine/lod.htm - ROAM 관련 좋은 번역물.
- 사용자 Scene Interaction - 전략게임이나 쿼터뷰형식의 머그게임을 만들때 사용되는 화면좌표로부터 3D 공간상의 좌표구하기
- BSP Tree 이야기 - Gerald Filimonov란 사람의 아티클을 번역한 것입니다.
- AdvancedParticleSystems - GDC 아티클. 개선된 파티클시스템에 대한 글.
- http://www.kuenzle-family.ch/philippe/gl/ - ASE화일을 GL 소스코드로 변환하는 툴.
[edit]1.1 nvidia #
- http://developer.nvidia.com/page/papers_opengl.html - nvidia 개발자 논문중 GL관련
- http://developer.nvidia.com/object/Using_GL_NV_fence.html - VAR과 NV_fence 익스텐션 관련 논문.
- http://developer.nvidia.com/object/Alpha_Test_Tricks.html - Alpha_test관련.
- http://developer.nvidia.com/object/Avoiding_Common_ogl_Pitfalls.html - 마크 킬가드(glut만든사람)이 쓴 GL 프로그래밍시 실수하기 쉬운 점 19가지에 관한 글. 필독서.
[edit]2 이론적인 것들 #
- http://astronomy.swin.edu.au/~pbourke/ - 3D 및 기타 기하학에 대한 부분적인 아티클이 많다. C 소스도 포함되어있는게 특징.
- http://www.math.uiowa.edu/~dstewart/meschach/ - c 언어용 행렬 계산 라이브러리
- Matrix Template Library - 행렬기반의 선형대수 라이브러리. STL과 비슷한 스타일의 형식.
- Matrix libraries for C and C++ - 몇몇 행렬라이브러리 성능비교. (지호님 홈에서 가져옴)
- The Matrix and Quaternions FAQ - 행렬과 쿼터니온에 대한 FAQ
- http://www.gamedev.net/reference/articles/article1199.asp - Do We Really Need Quaternions?
- http://www.makegames.com/3drotation/ - 3D 회전관련 수학 아티클
- http://www.cs.sunysb.edu/~stripe/ - 일반 폴리곤을 triangle strip으로 변환하는 알고리즘과 툴 제공 사이트.
- Perlin Noise - 펄린 노이즈에 대한 글. (GpGiki에서 퍼옴)
- opengl/행렬이야기 - http://www.levp.de/3d/에서 퍼옵니다. 간단한 개념설명.
- http://freespace.virgin.net/hugo.elias/routines/r_main.htm - 내적, 외적과 같은 아주아주 기본적인 수학에 대한 설명. (강의용?)
[edit]3 NPL(Non-Photorealistic Lightning) #
- A Non-Photorealistic Lighting Model For Automatic Technical Illustration - NPL에 대한 sigraph 98년도 논문.
[edit]4 지형 #
- http://www.cc.gatech.edu/gvu/people/peter.lindstrom/papers/siggraph96/ - 실시간 HF에 대한 LOD 논문
- http://home01.wxs.nl/~monstrous/terrain.html - 지형생성에 대한 아티클
- http://www.vterrain.org/ - 지형생성에 대한 통합 정보 사이트
- http://chat.carleton.ca/~eszoka/tstriplod/tstrip.htm - triangle strip LOD 에 대한 논문. 예제 소스는 없는 것이 흠.
- http://www.longbowdigitalarts.com/seumas/progbintri.html - Binary Triangle Trees and Terrain Tessellation
- http://www.geocities.com/Area51/6902/terrain.html - Generating Terrain
- http://www.llnl.gov/graphics/ROAM/ - ROAM 알고리즘 논문 사이트.
- ClodTerrainMeshingUsingAdaptiveQuadtrees - 류광님과 짬짬히 공동번역하고 있는 쿼드트리 응용 지형 LOD 기법에 대한 글.
- TerrainTexturing - 지형 텍스쳐 혼합에 관한 번역. 대부분의 높이필드기반 엔진에서 채용하고 있는 방법입니다.
- http://www.tulrich.com/geekstuff/chunklod.html - Chunked LOD. 예제가 괜찮습니다. CLOD 기법에 기반하여 구현한 방법인데, 쓰레드를 사용하여 백그라운드 로딩을 구현한 예제가 인상적입니다.
- http://www.jejik.com/modules.php?name=Content&pa=showpage&pid=1 - The second life for Brute Force terrain mapping
- http://users.belgacom.net/xvox/ - Hardware trilinear displacement mapping without tessellator and vertex texturing
- http://www.flipcode.com/tutorials/geomipmaps.pdf - geomipmap에 대한 논문
[edit]5 택스쳐 #
- OpenGL Texture Mapping Introduction - 간단한 텍스쳐 생기초 아티클. gamedev.net.
- OpenGL/TextureMapping - OpenGL 텍스쳐관련 정리
- http://www.bigpanda.com/trinity/article1.html - Multitexture and the Quake 3 graphics engine
[edit]8 캐릭터 애니메이션 #
- http://www.sjbaker.org/steve/omniv/ - The Omniverous Biped's FAQ's
- http://www.cs.unc.edu/~ehmann/RigidTutorial/ - Rigid Body Simulation Tutorial
- http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/ - 데이빗 바라프의 홈페이지. 시그래프 97 강연 자료인 Physically Based Modeling에 대한 자료가 있음. 지호님 강좌에서 퍼옴.
[edit]9.1 아티클들 #
- http://www.gamasutra.com/features/20020118/vandenhuevel_pfv.htm - 원 혹은 구 사이의 빠르고 정확한 충돌체크
- http://www.gamasutra.com/features/19991018/Gomez_1.htm - 2D 충돌체크 아티클.
- Crashing Into The New Year - gamasutra에 있던 충돌체크 관련 아티클.
[edit]9.2 링크 #
- ODE 이야기 - open dynamics engine. 강체 시뮬레이션 계산 라이브러리인데 꽤 괜찮군요. havok과 같은 상용보다는 조금 못하지만 쓸만한듯...
- http://photoneffect.com/coldet/ - 공개 충돌체크 라이브러리.
- http://www.codercorner.com/Opcode.htm - 충돌체크 라이브러리. 꽤 성능이 좋다고 함.
- http://www.win.tue.nl/~gino/solid/index.html - freeSolid. 강체 운동 및 변형시 발생하는 충돌체크를 위한 라이브러리.
- http://www.cs.unc.edu/~geom/OBB/OBBT.html - rapid. 구조화되지 않은 모델로 구성된 거대한 환경에서의 폴리곤 간섭을 체크하기위한 라이브러리.
- http://www.csis.hku.hk/GraphicsGroup/collision.htm - 충돌체크 관련 논문들.
- http://www.stanford.edu/~jgao/collision-detection.html - 충돌체크에 대한 자료 링크모음.
- http://www.gamasutra.com/resource_guide/20030121/maclaurin_pfv.htm - gamasutra에 실린 외부 물리 엔진을 게임에 적용하는 법에 대한 아티클(두석씨 감사~ )
[edit]10 관련 번역 #
- opengl_hangul.zip - 단국대 전산과 분들이 레퍼런스를 번역하셨었네요. HTML Help화일입니다. 볼랜드포럼에서 가져왔습니다.
- Billboarding Tutorial - 빌보드에 대한 구현원리와 코드.
- Terrain생성튜토리얼 - 구릉 지형을 생성하는 알고리즘에 대한 설명과 코드
- 지형구현기초 - 튜토리얼이라고 하기에는... 각종 지형생성에 대한 알고리즘 및 소개, 소스등등
- Generating Random Fractal Terrain - 프랙탈로 난수 지형을 생성하는 방법
- Fast computation of terrain shadow maps - 높이필드 방식의 지형을 생성할때 사용되는 지형 택스쳐에 미리 그림자를 먼저 랜더링해 넣는 기법
- Continuous LOD Terrain Meshing Using Adaptive Quadtrees - 쿼드트리를 사용한 LOD 구현 알고리즘입니다.
- Volumetric Fog - 볼륨 포그에 대한 조금 오래된 아티클입니다.
- 정점버퍼의 효율적인 사용법 - nvidia에 있는 조금은 오래된 아티클입니다. spirit3D.net에 어느분이 번역한 글이 있다는 것을 같이 일하는 분이 알려주셨는데, 공부삼아 다시 번역해봅니다. DX위주라는 점이 좀 걸리는 글.
[edit]11 Nehe Tutorial #
- Nehe - Cool Looking Fog - GL의 안개(fog) 관련 함수 기초예제입니다.
- Nehe - Masking - GL에서 마스킹 이미지를 사용한 투명색 효과 구현예제입니다. 이 방법은 택스쳐의 용량이 2배가 된다는 점에서 약간의 개선의 여지가 있습니다.
- Nehe - Cel-Shading - 카툰 랜더링을 구현한 예제입니다. 이론에 대한 글은 같은 저자 글로써 따로 있더군요. 같은 저자가 보충 설명한 Cel-Shading 을 읽어보시길..
- Nehe - Vertex Buffer Objects - 오옷... VBO가 nehe에 있더군요. ㅋㅋㅋ 예제가 필요하던차에 잘되었습니다. 읽는겸해서 퍼다넣었습니다.
- http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=43 - freetype2를 사용하여 폰트 화면에 출력하기. 몇몇 부분에서 볼만한 내용이 있습니다.
[edit]12 팁 #
- glFlush()와 glFinish()의 차이점은 무엇입니까? - GPGStudy의 포럼글중 링크가 있어 퍼왔습니다.
- glOrtho()와 glViewport()는 무슨일을 합니까? - 덩달아 따라온 팁. ^^;
- 간단한 ASE 화일 분석 - 매쉬 데이타를 가져오는데 있어서 가장 간편히 사용하는 포맷중 하나인 ASE 화일의 내부 요소 분석입니다.
[edit]13 GL 확장 #
- OpenGL 확장 가이드 - GL 코딩하신다면 필수 구매 서적.
- http://glew.sourceforge.net/ - Opengl Extension Wrangler Library. gl 확장을 보다 쉽게 사용할 수 있도록 해줍니다.
- http://www.levp.de/3d/ - GL 익스텐션 라이브러리 사이트. 사이트주인이 바뻐서 extgl의 더이상의 업데이트가 없다고 공표했네요.
- http://elf-stone.com/glee.php - 또다른 gl 확장 라이브러리. full ANSI C 구현.
- OpenGL Extension Registry
- http://www.realtech-vr.com/glview/ - 현재 사용중인 비디오카드가 어떤 extension을 지원하는지 알아봐주는 프로그램. win32와 mac을 지원하네요. freeware.
- ftp://ftp2.v3x.net/vx/pub/glview-ext.zip - 위 glview 제작사가 만든 xml형식의 지원카드<->GL확장 데이타베이스. 특정카드에 어떤 GL 확장이 지원되는지, 혹은 반대로 특정 GL확장이 어떤 카드에 지원되는지를 알아보는데 아주 도움이 되는 자료입니다.
- GL_ARB_imaging - 픽셀 처리 기능모음.
- GL_ARB_transpose_matrix - 일반 C 배열값(몇몇 수학계산용 엔진이나 라이브러리에서 사용하는 방식. float m[16]같은 방식)을 GL 배열로 적용할 수 있도록 해줍니다.
- GL_EXT_blend_subract - blend처리시 빼기연산 추가.
- GL_EXT_blend_color - blend처리때 지정변수는 상수 색상값으로 설정가능.
- GL_EXT_blend_minmax - 최대/최소값을 선택하는 방식으로 blend처리.
- GL_EXT_blend_func_separate - RGB와 알파값을 함께 사용해야만 하는 기존 blend함수를 별도 처리하는 것을 허용해줌.
- GL_EXT_paletted_texture - 원본 팔레트 방식의 텍스쳐를 사용할 수 있게 함.
- GL_EXT_shared_texture_palette - 모든 팔레트 방식의 텍스쳐에 하나의 팔레트를 공유하도록 해줌.
- GL_S3_s3tc - 텍스쳐 압축기능제공. 퀘이크 3에서 사용. S3와 nvidia에서 제공.
- GL_EXT_point_parameters - 원본 카메라에서의 거리에 기준하여 포인트 크기를 조절. 퀘이크2에서 파티클에 사용.
- GL_EXT_packed_pixels - 텍스쳐를 pack처리된 포멧으로 로딩하고 랜더링하는 기능.
- GL_EXT_secondary_color - 명시적으로 정점당 specular 색상적용기능. 이 확장을 사용하여 텍스쳐위에 specular 하이라이트를 적용할 수 있습니다. (광원이 적용되면 이 확장은 무시됩니다)
- GL_EXT_separate_specular - 텍스쳐위에서 specular 광원 기능을 추가하는 확장.
- GL_EXT_fog_coord - fog 거리를 정점마다 정의할 수 있도록 하는 기능. 볼륨 fog 효과에서 사용.
- GL_EXT_texture_env_add (GL_ARB_texture_env_add) - (둘다 같은 내용을 담고 있습니다) 텍스쳐 환경모드 몇가지 추가. 퀘이크 3에서 사용.
- GL_EXT_texture_env_combine - 보다 융통성있는 텍스쳐 환경 제어기능 제공. nvidia, ATI에서 사용가능.
- GL_NV_texture_env_combine4 - nvidia전용. 보다 추가된 텍스쳐 환경기능.
- GL_EXT_texture_filter_anisotropic - 개선된 텍스쳐 필터링 기능 제공. 밉맵을 사용하면 가파른 각도에서 텍스쳐 표면을 바라볼때 블러링되는 경향이 있는데, 이것을 개선한 확장.
- GL_ARB_texture_cube_map - 큐브 매핑 지원. 환경 매핑, 하늘표현, 범프매핑등등에 활용.
- GL_EXT_texture3D - 볼륨 텍스쳐 지원. 3차원 텍스쳐 좌표계 사용.
- GL_EXT_texture_lod_bias - 밉맵을 LOD 단계에 따라 제어하는 기능. 텍스쳐 랜더링 성능을 개선해주며, 텍스쳐 블러링 효과를 얻을 수 있습니다(너무 날카롭게 보이는 것을 줄여줍니다)
- GL_EXT_stencil_wrap - 스텐실 효과시 wrap 정도를 증감할 수 있도록 합니다.
- GL_EXT_vertex_weighting - 두개의 행렬값에 기초하여 정점값을 섞어줍니다. 간단한형태의 "스키닝"구현을 하드웨어 가속을 통하여 구현가능하게 해줍니다.
- GL_ARB_multitexture - 원본
- GL_ARB_vertex_buffer_object - 정점 버퍼의 가속기능을 각 벤더별 별도로 구현된 것을 통합했군요.
- WGL_EXT_swap_interval - 윈도우즈에서 티어링현상을 피하기위해 사용.
[edit]15 링크 #
- http://www.codercorner.com/Links_Programming.htm - coder corner의 링크모음. 하루에 한번씩 들러보고 있음.
- http://talika.eii.us.es/~titan/oglfaq/ - opengl gamedev 메일링 FAQ 모음.
- http://www.mathies.com/glfaq/GLToolkitFAQ.html - 각종 opengl 툴킷에 대한 FAQ 모음.
- http://home.clara.net/paulyg/ogl.htm - pahl의 Opengl 페이지. 몇몇 팁들이 있음.
- http://home.clara.net/paulyg/prog5.htm - 8비트 팔레트 압축된 tga화일을 택스쳐로 읽어들이는 아티클. glCompressedTexImage2DARB에 대한 설명도 있음.
- http://www.morrowland.no/apron/tut_gl.php - apron의 GL 튜토리얼. 간단한 소스들 모음.
- http://members.net-tech.com.au/alaneb/opengl.html - Al's openGL Page. http://www.gamecode.org 에서 퍼옴.
- http://vegastrike.sourceforge.net/ - elite나 윙커맨더 스타일의 공개 3D 슈팅 게임. 오픈소스.
- http://crystal.sourceforge.net - 크리스탈 스페이스. 공개 3D 엔진. 오픈소스.
- http://www.cs.utah.edu/npr/ - 카툰랜더링같은 랜더링 기법에 대한 논문들 모음 사이트. http://www.3dstudy.net
- http://home.t-online.de/home/Primetime./gl-117/index.htm - GL-117 이라는 공개 오픈소스 비행 시뮬게임. 오픈GL과 SDL기반. 생각보다 할만하다.
- http://esprit.campus.luth.se/~humus/ - GL 셰이더 관련 확장 활용예제 있음. 꽤 깔끔한 가속기반 자작 예제 전시.
- http://www.lifeisforu.net/programming/bsp/ - 최도경님의 bsp관련 문서 번역. 깔끔합니다.
- http://www.faqs.org/faqs/graphics/colorspace-faq/ - 색상과 감마 처리에 대한 FAQ
- http://www.faqs.org/faqs/graphics/algorithms-faq/ - 그래픽 알고리즘 FAQ
- http://www.asahi-net.or.jp/~cs8k-cyu/free/index.html - GL을 사용해서 2D 슈팅을 만드는 개인 개발자 사이트. 공개인데다 D 스크립트를 사용하여 개발한 것이 특징. 소스가 공개되어있으므로 스터디에 도움될 듯.
- http://www.gamza.net/ez2000/ezboard.exe?db=Programming&action=read&dbf=8&page=0&depth=1 - 감자님의 간단한 2D 모드 변환 snippet.
[edit]16 3D 엔진 #
- http://irrlicht.sourceforge.net 우연히 발견한 오픈소스 3D 엔진. 성능 및 기능은 모르겠지만, DX와 GL의 통합 계층부분은 쓸만하다.
- http://www.3dengines.net - 3D 엔진 리스트.
- http://xengine.sourceforge.net - 플랫폼 독립적이고 쉐이더까지 지원하는 오픈소스 3D 엔진.
- http://www.hawksoft.com/hawk/ - 풀 오픈소스 엔진. GL기반. 스터디용으로 좋다.
- http://www.grinninglizard.com/lilith/ - lilith 3D. kyra 2D 엔진 저자가 만든 SDL+opengl기반의 3D 오픈소스 엔진. 지형 블랜딩과 기타 기초적인 구현 참조할만함.
- http://www.destiny3d.com - 1년에 40$정도로 사용가능한 3D 엔진. 아직 알파단계.
- http://www.conitec.net/a4info.htm - 3D 게임 스튜디오. C-스크립트라는 자체 스크립트 엔진 존재. 상용 라이센스 비용 899$.
- http://www.ogre3d.org/ - 객체지향 렌더링 엔진. 실시간에는 조금...
- http://g3d-cpp.sourceforge.net/ - GL 기반의 오픈소스 3D 엔진 라이브러리. 가속기능 기반.
[edit]16.1 소규모 라이브러리 #
- http://lib3ds.sourceforge.net/ - 3DS 화일 입출력 라이브러리. 오픈소스.
- http://interreality.org/wwwvos/projects/libase - ASE 화일 입출력 라이브러리. 오픈소스.
- http://libspider.sourceforge.net - 간단한 GL 기반 3D 라이브러리. 스터디용으로 쓸만할듯.
[edit]17 자료 #
- http://www.cs.brown.edu/~tor/ - SIGRAPH/EUROGRAPHICS 관련 논문 링크 사이트
- http://cone3d.gamedev.net/cgi-bin/index.pl?page=tutorials/ogladv/index - SDL+OpenGL 튜토리얼사이트
- http://nexe.gamedev.net/ - Nehe 튜토리얼 DX 판.
- http://www.longbowdigitalarts.com/seumas/index.html - Seumas's Programming Page. 여러가지 아티클 모음. dxball 만든 사람.
- http://www.dataplus.co.jp/OpenGL4ps2.html - PS2용 Opengl 라이브러리 판매하는 일본 회사.
- http://astronomy.swin.edu.au/~pbourke/geomformats/ - 3D 화일 포멧 스팩 모음.
- http://fly.cc.fer.hr/~unreal/theredbook/ - redbook 온라인버전.
'3D Graphics > Open GL' 카테고리의 다른 글
OpenGL Animation 구현 (0) 2007.05.07 msdn에 있는 openGL 도움말 및 레퍼런스 (0) 2007.04.18 GLSL 관련글 (0) 2007.04.16 풀스크린모드가 윈도우보다 느릴 때 (0) 2007.04.14 Open GL dll 파일 설치법 (0) 2007.03.23