Freigeben über


D3DX11CreateAsyncCompilerProcessor-Funktion

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
D3DX11async.h
Bibliothek
D3DX11.lib

Siehe auch

D3DX-Funktionen