2014-01-16 2 views
0

DirectX 11을 사용하여 애니메이션 모델을로드하고 있습니다. 이제 MS3D 모델 파일을 구문 분석하는 단계에 있으며 MS3D SDK (http://www.milkshape3d.com/)를 사용하여 MS3D 모델을로드 할 계획입니다. 그러나이 SDK는 독립적 인 프로그램 대신 Milkshape Modeling Software에서 플러그인을 작성하는 데 사용됩니다.MS3D 파일을로드 할 때 milkshape3d SDK를 사용합니다.

cMsPlugIn* CreatePlugIn() 
{ 
    return new cPlugIn(); 
} 

int cPlugIn::Execute (msModel *pModel) 
{ 
    //process the model here. 
} 

문제는 내가 포인터 msModel이 DLL에 전달, 나는 MS3D 파일에서 그것을 만드는 방법을 모르겠입니다 : SDK에 부착 된 예는 아래와 같이 DLL입니다.

아래와 같이 나열된 msModel 구조와 관련된이 라이브러리의 사양을 읽었습니다.

/********************************************************************** 
* msModel 
**********************************************************************/ 

MSLIB_API void   msModel_Destroy (msModel *pModel); 

MSLIB_API int   msModel_GetMeshCount (msModel *pModel); 
MSLIB_API int   msModel_AddMesh (msModel *pModel); 
MSLIB_API msMesh*  msModel_GetMeshAt (msModel *pModel, int nIndex); 
MSLIB_API int   msModel_FindMeshByName (msModel *pModel, const char *szName); 

MSLIB_API int   msModel_GetMaterialCount (msModel *pModel); 
MSLIB_API int   msModel_AddMaterial (msModel *pModel); 
MSLIB_API msMaterial* msModel_GetMaterialAt (msModel *pModel, int nIndex); 
MSLIB_API int   msModel_FindMaterialByName (msModel *pModel, const char   *szName); 

MSLIB_API int   msModel_GetBoneCount (msModel *pModel); 
MSLIB_API int   msModel_AddBone (msModel *pModel); 
MSLIB_API msBone*  msModel_GetBoneAt (msModel *pModel, int nIndex); 
MSLIB_API int   msModel_FindBoneByName (msModel *pModel, const char *szName); 

MSLIB_API int   msModel_SetFrame (msModel *pModel, int nFrame); 
MSLIB_API int   msModel_GetFrame (msModel *pModel); 
MSLIB_API int   msModel_SetTotalFrames (msModel *pModel, int nTotalFrames); 
MSLIB_API int   msModel_GetTotalFrames (msModel *pModel); 
MSLIB_API void   msModel_SetPosition (msModel *pModel, msVec3 Position); 
MSLIB_API void   msModel_GetPosition (msModel *pModel, msVec3 Position); 
MSLIB_API void   msModel_SetRotation (msModel *pModel, msVec3 Rotation); 
MSLIB_API void   msModel_GetRotation (msModel *pModel, msVec3 Rotation); 
MSLIB_API void   msModel_SetCamera (msModel *pModel, msVec3 Position, msVec2  RotationXY); 
MSLIB_API void   msModel_GetCamera (msModel *pModel, msVec3 Position, msVec2  RotationXY); 
MSLIB_API void   msModel_SetComment (msModel *pModel, const char *pszComment); 
MSLIB_API int   msModel_GetComment (msModel *pModel, char *pszComment, int  nMaxCommentLength); 
MSLIB_API void   msModel_SetFileName (msModel *pModel, const char *pszFileName); 
MSLIB_API int   msModel_GetFileName (msModel *pModel, char *pszFileName, int nMaxFileNameLength); 

있다 같은 기능 :

msModel_Destroy(msModel *pModel), 

하지만

나는이 문제를 해결하려면 어떤 방법이 물어보고 싶은
msModel * msModel_Destroy(char* file_name); 

같은 함수가 없다?

답변

관련 문제