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;
}