HRESULT SkinnedMesh::SetupBoneMatrixPointers( LPD3DXFRAME pFrame ) { // 메시의 본 포인터 설정 // 해당 프레임에 있는 메시 컨테이너와 자식 형제 모두 다?? HRESULT hr; if ( pFrame->pMeshContainer != NULL ) { hr = SetupBoneMatrixPointersOnMesh( pFrame->pMeshContainer ); if ( FAILED( hr ) ) return hr; } if ( pFrame->pFrameSibling != NULL ) { hr = SetupBoneMatrixPointers( pFrame->pFrameSibling ); if ( FAILED( hr ) ) return hr; } if ( pFrame->pFrameFirstChild != NULL ) { hr = SetupBoneMatrixPointers( pFrame->pFrameFirstChild ); if ( FAILED( hr ) ) return hr; } return S_OK; }
HRESULT CDexModelXAni::SetupBoneMatrixPointers(LPD3DXFRAME pFrame) { HRESULT hr; if (pFrame->pMeshContainer != NULL) { hr = SetupBoneMatrixPointersOnMesh(pFrame->pMeshContainer); if (FAILED(hr)) return hr; } if (pFrame->pFrameSibling != NULL) { hr = SetupBoneMatrixPointers(pFrame->pFrameSibling); if (FAILED(hr)) return hr; } if (pFrame->pFrameFirstChild != NULL) { hr = SetupBoneMatrixPointers(pFrame->pFrameFirstChild); if (FAILED(hr)) return hr; } return S_OK; }
HRESULT CAnimationModel::SetupBoneMatrixPointers( LPD3DXFRAME pFrame ) { HRESULT hr = S_OK; LPD3DXMESHCONTAINER pMeshContainer = NULL; pMeshContainer = pFrame->pMeshContainer; while( NULL != pMeshContainer ) { hr = SetupBoneMatrixPointersOnMesh( pMeshContainer ); CHECK_FAILED( hr ); pMeshContainer = pMeshContainer->pNextMeshContainer; } if( NULL != pFrame->pFrameSibling ) { SetupBoneMatrixPointers( pFrame->pFrameSibling ); CHECK_FAILED( hr ); } if( NULL != pFrame->pFrameFirstChild ) { SetupBoneMatrixPointers( pFrame->pFrameFirstChild ); CHECK_FAILED( hr ); } return hr; }