[App 개발] OpenGL 을 이용한 게임 만들기 (2) - 3D 모델
본문
하지만, 가장 어려운 것은, OpenGL 은 매우 저수준 함수이기 때문에 더욱 어렵습니다. (OpenGL 의 수준이 낮다는 뜻이 아니라는 것은 아시겠죠? ㅡㅡ;) 3D 게임을 만들기 위해서는 주인공이 필요한데, 예전에 2D 게임에서는 소위 말하는 "도트 노가다" 를 동원해서 32 x 32 같은 래스터 그래픽을 여러 개 마련하면 되는 일이었지만, 3D 는 모든 것이 벡터로 이루어진 주인공이 필요하게 됩니다.
3D Model 은 어떤 물체를 구성하기 위한 점, 선분, 텍스쳐 등을 모은 집합입니다.
게임 세계에서 애용되는 3D Model 로는 Quake 시리즈의 모델이 있습니다. Quake 는 Open Source 이므로 자료가 풍부하고, 많은 사람들이 작성한 관련 툴이나 라이브러리 등을 손쉽게 구할 수 있다는 장점이 있습니다. 심지어 웹상에서 공짜 3D 모델도 구할 수 있으니, 모델 섭외(?)를 위해서 따로 금전을 들이실 필요도 없습니다.
저는 Perry Newhook 이라는 사람이 연재했던 [OpenGL and OS/2] (http://www.edm2.com/0609/opengl.html) 에서 MD2 (Quake 2 Model 포맷) 를 읽는 루틴을 가져다가 이번 예제를 만들어 보았습니다. (역시 소스는 단순 명료하게 작성하는 것이 다른 사람을 위해서도 좋다는 것을 다시 한 번 증명하는 좋은 사이트입니다. ㅡ,.ㅡ)
여기서 한 가지 문제는, OS/2 를 구동하는 컴퓨터의 프로세서 역시 인텔이었기 때문에, Endian 문제로 인하여 PPC 에서는 그대로 컴파일해서 실행할 수 없습니다. (바이트 오더링은 언제나 문제입니다...) 저는 Xcode 에서 제공하는 CoreEndian 을 적용했습니다. 소스를 첨부하니, 필요하신 분들은 다운로드 하세요. 컴파일하실 때에는 CoreServices Framework 을 임포트 하셔야 합니다. (OpenGL Framework 은 당연히 하셨겠죠???)
모델은 어느 이름모를 사이트에서 집어왔습니다. ㅡㅡ;
modelData 구조체를 이용해서 어떻게 화면에 실현하는지는 위의 사이트에 있는 예제들을 참조하시면 될 것입니다. ^^ 역시 이번에도 유니버설로 컴파일한 실행 파일을 첨부했습니다.
최신글이 없습니다.
최신글이 없습니다.
댓글목록 0