티스토리 뷰
기능경기대회를 위해 DAE포맷 파서를 제작하였다.
DAE는 Collada 라는 3d 어플리케이션에서 사용하는 3D 정보를 담고 있는 파일 포맷의 확장자 명이다.
Collada는 XML로 작성이 되어있어서 XML파서나 XML을 좀 다뤄본 사람이라면 능숙하게 사용 할 수 있을것..이지만
나는 별로 능숙한 편이 아니라 좀 애를 먹음과 동시에 DAE라는 포맷이 그렇게 한글 자료가 잘 없기도 하며 3D 어플리케이션에 범용적으로 사용 될 수 있게 만들(게다가 크로노스 그룹에서 관리하는거 같음)었기에 꽤나 방대하다. Documentation 페이지만 400페이지에 가깝다.(물론 내가 처음에 Documentation 페이지를 안보고 작성하긴 했다.)
일단 기능경기대회를 위해 어느정도만 구현이 되어 있으며 조금 제한적일 수 있다.
그리고 Documentation페이지를 별로 참조 하지 않고 직접 뜯어 보면서 만들었기에.. 실제 많이 사용되는 DAE 파서와 비교하면 훨씬 하찮겠지..
Xml 파서는 직접 제작 한 것인데.
기능경기라는 가정하(외부 라이브러리 일체 사용 불가)에 작업 한거기에 간단한 Vector2,3,4 랑 Matrix4x4는 간단하게 작성 하였고 Xml 파서에 사용된 라이브러리는 MsXml이라는 Visual studio를 깔때 같이 깔린 마이크로소프트에서 만든 XML파서 인듯 싶다. 나중에 강좌를 적을 생각.
DebugTimer.h 에는 파서를 만들때 파싱하는 시간을 측정하기 위한 간단한 타이머가 존재한다.
DaeClasses.h 에는 파싱할때 저장할 정보들을 구조체로 묶어둔 것들이 존재한다.
실질적인 Dae 파싱은 DaeParser.cpp와 DaeParser.h에 존재한다.
'3D 프로그래밍 > Direct3D' 카테고리의 다른 글
DXUT 사용 하는 방법( Directx 9,10) (1) | 2017.04.14 |
---|---|
프레임워크 -2 (0) | 2016.12.18 |
Directx 프레임워크 제작 중.. (3) | 2016.11.24 |