2010년 3월 5일 금요일

ogre, archive 관련 작업을 시작하기위한 테스트 코드

예를들어 foo 라는 포맷을 정의하고 이를 ogre 가 처리하도록 하려면 아래 세개의 클래스를 구현하고
  1. FooArchive : 디렉토리 처리? 뭐 그런거라고 보자
  2. FooArchiveFactory : 보일러플레이트
  3. FooDataStream : 파일스트림 처리? 그렇게 생각하면 굳
이중 FooArchiveFactory 를 ArchiveManager 에 등록한 후에
리소스매니저를 통해 리소스에 접근이 가능하다.

아직 파일포맷에 대해서 생각하지는 않았지만 위와 같은 과정을 테스트해보기 위한 코드를 만들어보고 적어둔다.

fooarchive.hpp 는 위 세 클래스의 선언을 모두 담았다.

펼쳐두기..


fooarchive.cpp 는 FooArchive 클래스의 구현만 담았다.

펼쳐두기..


fooarchivefactory.cpp 는 FooArchvieFactory 클래스의 구현만 담았다.

펼쳐두기..


foodatastream.cpp 는 FooDataStream 클래스의 구현만 담았다. 이쪽은 대강 구현한거라 버그가 많을듯. 어차피 내용 붙이면 모두 새로구현해야한다.

펼쳐두기..


archive.cpp 는 위 세 클래스를 써먹는 예제를 담았다. 등록하는 코드도 봐두자..

펼쳐두기..

위 소스들을 빌드하는데 쓰인 CMakeLists.txt 의 일부. 아래 언급된 link_ogre3d_all() 매크로는 다른 파일에 있는데 적지 않았다.

펼쳐두기..




댓글 없음: