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);
같은 함수가 없다?