0
アニメーションメッシュのfpsに.Xファイル(DirectX用)を解析しようとしています... .Xファイルはテンプレートデータを使用しています。私はテンプレート内の変数を取得したい:AnimTicksPerSecond、しかし、私はGUIDを持っていないため、このテンプレートを認識するようにパーサーに指示することはできません... GUIDを検索する方法はありますか?私のパーサーコードは標準のテンプレートで動作しますが、AnimTicksPerSecondは同じファイル(DirectX SDKで提供)に定義されていません。AnimTicksPerSecond GUID
BOOL cAnimationCollection::ParseObject(LPD3DXFILEDATA pDataObj, DWORD Depth, void **data)
{
if(pDataObj->IsReference())
return true;
if(CompareDataObjectType(pDataObj, TID_D3DRMAnimationSet)) //Animation Set is defined in rmxfguid.h(comes with DX SDK)
{
// Create and link Object
cAnimationSet *AnimSet = new cAnimationSet();
AnimSet->m_Next = m_AnimationSets;
m_AnimationSets = AnimSet;
// Increment # Animation Sets by 1
m_NumAnimationSets++;
// Set Animation Index to global count
AnimSet->m_index = index;
index++;
LPD3DXFILEDATA pSubData;
SIZE_T nChildren;
if(!strcmp(GetObjectName(pDataObj), "Unknown") || !(AnimSet->m_Name = GetObjectName(pDataObj)))
AnimSet->m_Name = _strdup("NewAnimationSet");
if(SUCCEEDED(pDataObj->GetChildren(&nChildren)))
for(SIZE_T index = 0; index < nChildren; index++)
if(SUCCEEDED(pDataObj->GetChild(index, &pSubData))){
ParseChildObjects(pSubData, Depth, data);
}
}
return true;
}
私はIIDを探しています、ごめんなさい –
これはIIDs *であることです。 –
私のコードでAnimTicksPerSecondを参照すると、AnimTicksPerSecondが "参照されていない変数"であるというエラーが表示されます。システムのインクルードファイルのどこかに、AnimTicksPerSecond ...のような適切なIIDへの参照があります。たとえばrmxfguid.hには、IID:TID_D3DRMAnimationを持つアニメーションテンプレートのDEFINE_GUIDマクロがあります。 TnimTicksPerSecondはrmxfguid.hのリストにありません...どこですか?どのように私はそれを参照するのですか? –