ID3DXFile::RegisterTemplates-Methode
Registriert benutzerdefinierte Vorlagen.
Syntax
HRESULT RegisterTemplates(
[in] LPCVOID pvData,
[in] SIZE_T cbSize
);
Parameter
-
pvData [ In]
-
Typ: LPCVOID
Zeiger auf einen Puffer, der aus einer X-Datei im Text- oder Binärformat besteht, die Vorlagen enthält.
-
cbSize [ In]
-
Typ: SIZE _ T
Größe des Puffers, auf den pvData zeigt, in Bytes.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, ist der Rückgabewert S _ OK. Wenn bei der Methode ein Fehler auftritt, kann der Rückgabewert einer der folgenden Sein: D3DXFERR _ BADVALUE, D3DXFERR _ PARSEERROR.
Hinweise
Das folgende Codefragment enthält einen Beispielaufruf von RegisterTemplates und Beispielinhalten für den Puffer, auf den pvData zeigt.
#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;
Alle Vorlagen müssen einen Namen und eine UUID angeben.
Diese Methode ruft die RegisterEnumTemplates-Methode auf und ruft einen ID3DXFileEnumObject-Schnittstellenzeiger durch Aufrufen von CreateEnumObject mit pvData als ersten Parameter ab.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|