티스토리 뷰
우리가 x 파일로 메시를 로드하려면 D3DXLoadMeshFromX() 함수로 간단하게 로드 가능하지만
애니메이션을 위한 로드작업은 간단하지 않다... 그래도 한번 만들어놓으면 변경할것없이 간단하게 사용이 가능하게 된다.
.x 파일에 있는 본 계층 구조부터 로드하기 위한 작업이며
기존에 D3D에 있는 ID3DXAllocateHierarchy 인터페이스를 상속받고 확장하면 마침내
D3DXLoadMeshHierarchyFromX 를 사용할 수있다.
D3DXLoadMeshHierarchyFromX()
.x 파일을 읽어오는 D3DX의 유틸리티 함수이다. cAllocateHierarchy 클래스로 만들어낸 객체의 포인터를 받아 실제 프레임정보, 메시컨테이너를 만들때 이곳에 있는 함수를 사용한다. 지울때도 마찬가지
ID3DXAllocateHierarchy
D3DXLoadMeshHierarchyForomX() 함수를 호출 할 때 인자로 넘겨주는 인터페이스.
원형만 만들어 놓은 추상 클래스이다. 상속받아서 사용하면된다.
스키닝방법 등 기타 모든것을 일정한 형식은 갖추되 자유롭게 사용하도록 하기 위해
ID3DXAnimationController 라는 인터페이스와 데이터가 묶이도록 하는데에 목적을 두었다
고 함
얻게 되는 정보
트리구조로 이루어진 본의 계층구조중 최상위 노드에 대한 포인터 ppFrmaeHierarchy
키 프레임 방식의 애니메이션 정보
본(프레임)데잍터 구조체 내의 포이터를 통해 본에 연결된 메시데이터(D3DXFRAME::pMeshContainer)
메시데이터에 연결된 LPD3DXSKININFO를 통해 메시의 스킨정보
cAllocateHierarchy를 상속받는 클래스만 만들어주면 면 애니메이션 구현이 끝
dx sdk 예제 디렉토리 안에 메쉬 폴더 안에 스킨드 메쉬라는ㄴ 예제도 있다고 함 나도 봐야지!
//\cAllocateHierarchy 클래스 구현
//매우자세한설명
http://m.blog.naver.com/joiehoie/39432761
http://m.blog.naver.com/codeknight2/110138293948 //뼈대만 렌더링 할 수 있는 코드도 작성해주심
//
https://github.com/sniper003/150210_D3D_Thread
//제목이 D3DXLoadMeshHierarchyFromX() 함수의 음모론 이라고 ㅋㅋㅋ 댓글엔 여러 좋은 말씀들도보임
http://www.gpgstudy.com/forum/viewtopic.php?p=63171
//
http://m.blog.naver.com/codeknight2/110138412715
//스킨드 메쉬를 직접 구현하셨다.
'ComComComCom > DX .. D3D' 카테고리의 다른 글
Animation Controller class (0) | 2017.07.13 |
---|---|
애니메이션 - 본 애니메이션 뼈대 애니메이션/ D3DXFRAME / 스키닝관련.. (0) | 2017.07.12 |
애니메이션 - 스키닝 (0) | 2017.07.12 |
[function] D3DXLoadMeshFromX() (0) | 2017.07.12 |
xFile (0) | 2017.07.11 |