ID3DXFile::RegisterTemplates 方法
註冊自訂範本。
語法
HRESULT RegisterTemplates(
[in] LPCVOID pvData,
[in] SIZE_T cbSize
);
參數
-
pvData [in]
-
類型: LPCVOID
緩衝區的指標,其中包含包含範本的文字或二進位格式的 .x 檔案。
-
cbSize [in]
-
類型: SIZE_T
pvData 所指向的緩衝區大小,以位元組為單位。
傳回值
類型: HRESULT
如果方法成功,傳回值會S_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DXFERR_BADVALUE,D3DXFERR_PARSEERROR。
備註
下列程式碼片段提供 對 RegisterTemplates 的範例呼叫,以及 pvData 指向 之緩衝區的範例內容。
#define XSKINEXP_TEMPLATES \
"xof 0303txt 0032\
template XSkinMeshHeader \
{ \
<3CF169CE-FF7C-44ab-93C0-F78F62D172E2> \
WORD nMaxSkinWeightsPerVertex; \
WORD nMaxSkinWeightsPerFace; \
WORD nBones; \
} \
template VertexDuplicationIndices \
{ \
<B8D65549-D7C9-4995-89CF-53A9A8B031E3> \
DWORD nIndices; \
DWORD nOriginalVertices; \
array DWORD indices[nIndices]; \
} \
template SkinWeights \
{ \
<6F0D123B-BAD2-4167-A0D0-80224F25FABB> \
STRING transformNodeName;\
DWORD nWeights; \
array DWORD vertexIndices[nWeights]; \
array float weights[nWeights]; \
Matrix4x4 matrixOffset; \
}"
.
.
.
LPD3DXFILE pD3DXFile = NULL;
if ( FAILED
(hr = pD3DXFile->RegisterTemplates(
(LPVOID)XSKINEXP_TEMPLATES,
sizeof( XSKINEXP_TEMPLATES ) - 1 ) ) )
goto End;
所有範本都必須指定名稱和 UUID。
這個方法會呼叫RegisterEnumTemplates方法,藉由呼叫CreateEnumObject搭配pvData做為第一個參數,以取得ID3DXFileEnumObject介面指標。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應