D3DX10CompileFromFile-Funktion

Hinweis

Anstatt diese Legacy Funktion zu verwenden, wird empfohlen, dass Sie die Offline Kompilierung mit dem Fxc.exe-Befehlszeilen Compiler oder der D3DCompile -API verwenden.

Kompilieren Sie einen Shader oder einen Effekt aus einer Datei.

Syntax

HRESULT D3DX10CompileFromFile(
  _In_        LPCTSTR            pSrcFile,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        LPCSTR             pFunctionName,
  _In_        LPCSTR             pProfile,
  _In_        UINT               Flags1,
  _In_        UINT               Flags2,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShader,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

Parameter

psrcfile [ in]

Typ: LPCTSTR

Der Name der Datei, die den Shader-Code enthält. Wenn die Compilereinstellungen Unicode erfordern, wird der Datentyp LPCTSTR in LPCWSTR aufgelöst. Andernfalls wird der Datentyp in LPCSTR aufgelöst.

pdefinitionen [ in]

Type: Konstanten D3D _ Shader- _ Makro *

Dies ist optional. Zeiger auf ein Array von Makro Definitionen (siehe D3D _ Shader _ Macro). Die letzte Struktur im Array fungiert als Abschluss Zeichen und muss alle Elemente auf 0 (null) festlegen. Wenn Sie nicht verwendet wird, legen Sie pdefinitionen auf null fest.

pinclude [ in]

Typ: LPD3D10INCLUDE

Dies ist optional. Zeiger auf eine ID3D10Include-Schnittstellen Schnittstelle zur Behandlung von Includedateien. Wenn dieser Wert auf null festgelegt wird, wird ein Kompilierungsfehler verursacht, wenn ein Shader eine include-Datei #

pfunctionname [ in]

Typ: LPCSTR

Der Name der Shader-Einstiegspunkt Funktion, bei der die Shader-Ausführung beginnt. Wenn Sie einen Effekt kompilieren, ignoriert D3DX10CompileFromFile pfunctionname;. Es wird empfohlen, pfunctionname auf null festzulegen, da es eine gute Programmierpraxis ist, einen Zeiger Parameter auf null festzulegen, wenn die aufgerufene Funktion ihn nicht verwendet.

pprofile [ in]

Typ: LPCSTR

Eine Zeichenfolge, die das Shadermodell angibt. kann ein beliebiges Profil in Shader Model 2, Shader Model 3oder Shader Model 4sein.

Flags1 [ in]

Typ: uint

Shader-Kompilierungs Flags.

Flags2 [ in]

Typ: uint

Effekt Kompilierungs Flags. Wenn Sie einen Shader und keine Effekt Datei kompilieren, ignoriert D3DX10CompileFromFile Flags2; Es wird empfohlen, Flags2 auf NULL festzulegen, da es eine gute Programmierpraxis ist, einen Typ-Parameter auf 0 (null) festzulegen, wenn die aufgerufene Funktion ihn nicht verwendet.

ppump [ in]

Typ: ID3DX10ThreadPump*

Ein Zeiger auf eine Thread-Pump Schnittstelle (siehe ID3DX10ThreadPump Interface). Verwenden Sie null , um anzugeben, dass diese Funktion erst zurückgegeben werden soll, wenn Sie abgeschlossen ist.

ppshader [ vorgenommen]

Typ: ID3D10Blob**

Ein Zeiger auf eine ID3D10Blob-Schnittstelle , die den kompilierten Shader sowie alle eingebetteten Debug-und Symboltabellen Informationen enthält.

pperrormsgs [ vorgenommen]

Typ: ID3D10Blob**

Ein Zeiger auf eine ID3D10Blob-Schnittstelle , die eine Auflistung von Fehlern und Warnungen enthält, die während der Kompilierung aufgetreten sind. Diese Fehler und Warnungen sind identisch mit der Debugausgabe eines Debuggers.

phresult [ vorgenommen]

Typ: HRESULT*

Ein Zeiger auf den Rückgabewert. Kann null sein. Wenn ppump nicht null ist, muss phresult eine gültige Speicheradresse sein, bis die asynchrone Ausführung abgeschlossen ist.

Rückgabewert

Typ: HRESULT

Der Rückgabewert ist einer der Werte, die in Direct3D 10-Rückgabe Codesaufgelistet sind.

Bemerkungen

Requirements (Anforderungen)

Anforderung Wert
Header
D3DX10Async. h

Siehe auch

Universell Funktionen