ID3DXMesh* cMesh::LoadAnimatedMesh(LPCTSTR pFilename,LPDIRECT3DDEVICE9 pD3DDevice,bool isPmesh,D3DXVECTOR3 StartPos)
{
LPD3DXFRAME m_pFrameRoot =0;
LPD3DXANIMATIONCONTROLLER m_pAnimController =0;
LPD3DXLOADUSERDATA m_pUserDataLoader =0;
D3DXMATRIXA16* m_pBoneMatrices =0;
LPD3DXALLOCATEHIERARCHY Alloc =0 ;
// return hr;
hr = D3DXLoadMeshHierarchyFromX(pFilename,D3DXMESH_MANAGED,pD3DDevice, Alloc, m_pUserDataLoader, &m_pFrameRoot,&m_pAnimController);
if (FAILED(hr))
{
::MessageBox(0, "D3DXLoadMeshHierarchyFromX() - FAILED", 0, 0);
}
thanks for your time
problems understanding D3DXLoadMeshHierarchyFromX
hi i was just wondering if im using this function correctly, ive tried using the skinned mesh example and various other example code throughout the web, but there not to clear whats going on, (i understand i will have to make the variables acessable within my class, they are just local for the sake of example). ive tried this with all of the meshes from the sample codes, anmated and not.
You have to create a class that will handle the allocation of frames and mesh. So the fourth parameter needs to be a pointer to an instance of a class that defines four specific functions:
CreateFrame - requests allocation of a frame object
CreateMeshContainer - requests allocation of a mesh container object
DestroyFrame - deallocation of frame object
DestroyMeshContainer - deallocation of mesh container object
I have some notes on how to do this here: http://www.toymaker.info/Games/html/load_x_hierarchy.html
CreateFrame - requests allocation of a frame object
CreateMeshContainer - requests allocation of a mesh container object
DestroyFrame - deallocation of frame object
DestroyMeshContainer - deallocation of mesh container object
I have some notes on how to do this here: http://www.toymaker.info/Games/html/load_x_hierarchy.html
cheers.
ive been following through your code, and thanks to that i now have the skinnedBouncyThing.X file animated within my code, but appear to have come across a few problems, using exactly the same code to load any other animated mesh such as the bones_all.x and a number of other anim meshes within the DXSDK sample code the D3DXLoadMeshHierarchyFromX function returns fail.
im pretty sure this is still to do with the CMeshHierarchy class.
i have modified this line of code due to it not compiling
and was recieving the following error "error C2664: 'D3DXCreateTextureFromFileA' : cannot convert parameter 2 from 'unsigned short [260]' to 'const char *'"
i resolved this by replacing the createtexturefromfile function with
could this be the problem?, please please help directx is gonna turn me old and grey within a week at this rate lol
thank you
ive been following through your code, and thanks to that i now have the skinnedBouncyThing.X file animated within my code, but appear to have come across a few problems, using exactly the same code to load any other animated mesh such as the bones_all.x and a number of other anim meshes within the DXSDK sample code the D3DXLoadMeshHierarchyFromX function returns fail.
im pretty sure this is still to do with the CMeshHierarchy class.
i have modified this line of code due to it not compiling
WCHAR wszTexName[MAX_PATH]; CUtilities::FillWideStringFromCharString(pMaterials.pTextureFilename,wszTexName,MAX_PATH); // Use the D3DX function to create the texturer if(FAILED(D3DXCreateTextureFromFile(pd3dDevice, wszTexName,&newMeshContainer->exTextures))) {
and was recieving the following error "error C2664: 'D3DXCreateTextureFromFileA' : cannot convert parameter 2 from 'unsigned short [260]' to 'const char *'"
i resolved this by replacing the createtexturefromfile function with
if(FAILED(D3DXCreateTextureFromFile(pd3dDevice, pMaterials.pTextureFilename,&newMeshContainer->exTextures)))
could this be the problem?, please please help directx is gonna turn me old and grey within a week at this rate lol
thank you
I doubt that is the problem - my code is set to work with Unicode hence the conversion but if you are not compiling with unicode you can safely use the filename directly. Do you get any Direct3D debug output when it fails? Make sure you have D3D_DEBUG_INFO defined. You also may want to put breakpoinrs in the mesh hierarchy code to find out the actual place where it is failing.
cheers, i tried debugging the class but it doesntappear to reach anywhere in that class, ive print screened the debug info for allocate hierarchy as it doesnt make much sense to me im afraid
does this make any sense to you?
http://img371.imageshack.us/img371/3923/dx2lx.jpg
does this make any sense to you?
http://img371.imageshack.us/img371/3923/dx2lx.jpg
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement