티스토리 뷰

=>.x 파일에 대한

우리가 x 파일로 메시를 로드하려면 D3DXLoadMeshFromX() 함수로 간단하게 로드 가능하지만

애니메이션을 위한 로드작업은 간단하지 않다... 그래도 한번 만들어놓으면 변경할것없이 간단하게 사용이 가능하게 된다.

 

.x 파일에 있는 본 계층 구조부터 로드하기 위한 작업이며

기존에 D3D에 있는 ID3DXAllocateHierarchy 인터페이스를 상속받고 확장하면 마침내

D3DXLoadMeshHierarchyFromX 를 사용할 수있다.

D3DXLoadMeshHierarchyFromX()

.x 파일을 읽어오는 D3DX의 유틸리티 함수이다. cAllocateHierarchy 클래스로 만들어낸 객체의 포인터를 받아 실제 프레임정보, 메시컨테이너를 만들때  이곳에 있는 함수를 사용한다. 지울때도 마찬가지

 

ID3DXAllocateHierarchy

     D3DXLoadMeshHierarchyForomX() 함수를 호출 할 때 인자로 넘겨주는 인터페이스.

원형만 만들어 놓은 추상 클래스이다. 상속받아서 사용하면된다.

스키닝방법 등 기타 모든것을 일정한 형식은 갖추되 자유롭게 사용하도록 하기 위해

ID3DXAnimationController 라는 인터페이스와 데이터가 묶이도록 하는데에 목적을 두었다

고 함

얻게 되는 정보

트리구조로 이루어진 본의 계층구조중 최상위 노드에 대한 포인터 ppFrmaeHierarchy

키 프레임 방식의 애니메이션 정보

본(프레임)데잍터 구조체 내의 포이터를 통해 본에 연결된 메시데이터(D3DXFRAME::pMeshContainer)

메시데이터에 연결된 LPD3DXSKININFO를 통해 메시의 스킨정보

cAllocateHierarchy를 상속받는 클래스만 만들어주면 면 애니메이션 구현이 끝

 

 

dx sdk 예제 디렉토리 안에 메쉬 폴더 안에 스킨드 메쉬라는ㄴ 예제도 있다고 함 나도 봐야지!

 

//\cAllocateHierarchy 클래스 구현

http://blog.naver.com/PostView.nhn?blogId=dmstnqo&logNo=90034851130&parentCategoryNo=14&viewDate=&currentPage=1&listtype=0

//매우자세한설명

http://m.blog.naver.com/joiehoie/39432761

http://m.blog.naver.com/codeknight2/110138293948    //뼈대만 렌더링 할 수 있는 코드도 작성해주심

//

http://gshan85.tistory.com/9

https://github.com/sniper003/150210_D3D_Thread

//제목이 D3DXLoadMeshHierarchyFromX() 함수의 음모론 이라고 ㅋㅋㅋ  댓글엔 여러 좋은 말씀들도보임

http://www.gpgstudy.com/forum/viewtopic.php?p=63171

//

http://m.blog.naver.com/codeknight2/110138412715

//스킨드 메쉬를 직접 구현하셨다.

http://gshan85.tistory.com/7

 

댓글