Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die Hilfsprogrammbibliothek D3DX (D3DX 9, D3DX 10 und D3DX 11) ist für Windows 8 veraltet und wird für Windows Store-Apps nicht unterstützt. Siehe Hinweise.
Erstellen Sie einen asynchronen Datenprozessor für einen Shader.
Syntax
HRESULT D3DX11CreateAsyncCompilerProcessor(
_In_ LPCSTR pFileName,
_In_ const D3D11_SHADER_MACRO *pDefines,
_In_ LPD3D10INCLUDE pInclude,
_In_ LPCSTR pFunctionName,
_In_ LPCSTR pProfile,
_In_ UINT Flags1,
_In_ UINT Flags2,
_Out_ ID3D10Blob **ppCompiledShader,
_Out_ ID3D10Blob **ppErrorBuffer,
_Out_ ID3DX11DataProcessor **ppDataProcessor
);
Parameter
-
pFileName [in]
-
Typ: LPCSTR
Eine Zeichenfolge, die den Dateinamen des Shaders enthält.
-
pDefines [in]
-
Typ: const D3D11_SHADER_MACRO*
Ein NULL-beendetes Array von Shadermakros; Legen Sie dies auf NULL fest, um keine Makros anzugeben.
-
pInclude [in]
-
Typ: LPD3D10INCLUDE
Ein Zeiger auf eine Include-Schnittstelle. Dieser Parameter kann NULL sein.
-
pFunctionName [in]
-
Typ: LPCSTR
Name der Shader-Einstiegspunktfunktion, in der die Shaderausführung beginnt. Wenn Sie einen Effekt kompilieren, ignoriert D3DX11CreateAsyncCompilerProcessorpFunctionName; Es wird empfohlen, pFunctionName auf NULL festzulegen, da es eine gute Programmierpraxis ist, einen Zeigerparameter auf NULL festzulegen, wenn die aufgerufene Funktion ihn nicht verwendet.
-
pProfile [in]
-
Typ: LPCSTR
Eine Zeichenfolge, die das Shaderprofil oder das Shadermodell angibt; kann ein beliebiges Profil in Shadermodell 2, Shadermodell 3, Shadermodell 4 oder Shadermodell 5 sein. Das Profil kann auch für den Effekttyp (z. B. fx_4_1) sein.
-
Flags1 [in]
-
Typ: UINT
Shaderkompilierungsflags.
-
Flags2 [in]
-
Typ: UINT
Effektkompilierungsflags. Wenn Sie einen Shader und keine Effektdatei kompilieren, ignoriert D3DX11CreateAsyncCompilerProcessorFlags2; Es wird empfohlen, Flags2 auf 0 festzulegen, da es eine gute Programmierpraxis ist, einen Nichtpointerparameter auf 0 festzulegen, wenn die aufgerufene Funktion ihn nicht verwendet.
-
ppCompiledShader [out]
-
Typ: ID3D10Blob**
Adresse eines Zeigers auf den kompilierten Effekt.
-
ppErrorBuffer [out]
-
Typ: ID3D10Blob**
Adresse eines Zeigers zum Kompilieren von Fehlern.
-
ppDataProcessor [out]
-
Typ: ID3DX11DataProcessor**
Adresse eines Zeigers auf einen Puffer, der den erstellten Datenprozessor enthält (siehe ID3DX11DataProcessor-Schnittstelle).
Rückgabewert
Typ: HRESULT
Der Rückgabewert ist einer der In Direct3D 11-Rückgabecodes aufgeführten Werte.
Bemerkungen
Außerhalb von D3DX 10 und D3DX 11 gibt es keine Implementierung des asynchronen Ladeprogramms.
Für Windows Store-Apps umfassen die DirectX-Beispiele (z. B. das Direct3D-Tutorialbeispiel) das BasicLoader-Modul, das das Windows-Runtime asynchrones Programmiermodell (AsyncBase) verwendet.
Für Win32-Desktop-Apps können Sie die Concurrency Runtime verwenden, um etwas ähnliches wie das Windows-Runtime asynchrones Programmiermodell zu implementieren.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|