신입 게임 개발자의 프로그래밍 일기

[Direct3D9] Hardware Skinning 공부 중 - ID3DXMesh::CloneMeshFVF now fails for meshes with D3DFVF_XYZRHW 본문

GameProgramming

[Direct3D9] Hardware Skinning 공부 중 - ID3DXMesh::CloneMeshFVF now fails for meshes with D3DFVF_XYZRHW

KFGD 2020. 8. 5. 18:16

이전에 소프트웨어 스키닝 코드를 하드웨어 스키닝으로 바꾸려고 했던 적이 있었다.

실패했고, 원인을 찾을 시간이 없어서 다른 부분에서 최적화를 시도했다.

그리고 이번에 다시 시도하고 있는데, 구글링 중 실패한 이유의 실마리를 찾은 거 같다.

 

http://www.setcombg.com/news/newsimages/D3D8b_bug_fix.htm

 

D3DX Readme

 

www.setcombg.com

위 사이트의 Mesh파트를 보면 아래와 같은 문장을 발견할 수 있다.

 

 ID3DXMesh::CloneMeshFVF now fails for meshes with D3DFVF_XYZRHW

 

이 문장을 보고 혹시나 했다.

 

전에 하드웨어 스키닝 코드에 도전하면서 기존 소프트웨어 스키닝 코드도 유지시키려고 ID3DXSkinInfo::ConvertToIndexedBlendedMesh 함수 호출 이후에도 CloneMeshFVF 함수를 호출했었다.

그렇지만 ID3DXSkinInfo::ConvertToIndexedBlendedMesh 함수 호출 이후에

정점들의 포맷(FVF)은 D3DFVF_XYZRHW를 포함하는 형태로 바뀌어 있었다.

 

Hardware Skinning을 완성시켜봐야 알겠지만...

원인 중 하나인 것 같으니 우선은 메모해야겠다...

Comments