D3DX10CompileFromFile-Funktion
Hinweis
Anstatt diese Legacyfunktion zu verwenden, empfiehlt es sich, offline mit dem Fxc.exe Befehlszeilencompiler zu kompilieren oder die D3DCompile-API zu 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 Shadercode enthält. Wenn die Compilereinstellungen Unicode erfordern, wird der Datentyp LPCTSTR in LPCWSTR aufgelöst. Andernfalls wird der Datentyp in LPCSTR aufgelöst.
-
pDefine [ In]
-
Typ: const D3D _ SHADER _ MACRO *
Optional. Zeiger auf ein Array von Makrodefinitionen (siehe D3D _ SHADER _ MACRO). Die letzte Struktur im Array dient als Abschlusszeichen und muss alle Member auf 0 festgelegt haben. Wenn sie nicht verwendet wird, legen Sie pDefine auf NULL fest.
-
pInclude [ In]
-
Typ: LPD3D10INCLUDE
Optional. Zeiger auf eine ID3D10Include-Schnittstelle für die Behandlung von Includedateien. Wenn sie auf NULL festgelegt wird, tritt ein Kompilierungsfehler auf, wenn ein Shader ein # Include enthält.
-
pFunctionName [ In]
-
Typ: LPCSTR
Name der Shader-Einstiegspunktfunktion, bei der die Shaderausführung beginnt. Wenn Sie einen Effekt kompilieren, ignoriert D3DX10CompileFromFile pFunctionName; Es wird empfohlen, pFunctionName auf NULL festzulegen, da es sich bei der Programmierung empfiehlt, einen Zeigerparameter 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 Shadermodell 2, Shadermodell 3oder Shadermodell 4sein.
-
Flags1 [ In]
-
Typ: UINT
-
Flags2 [ In]
-
Typ: UINT
Effektkompilierungsflags. Wenn Sie einen Shader und keine Effektdatei kompilieren, ignoriert D3DX10CompileFromFile Flags2; Es wird empfohlen, Flags2 auf 0 (null) festzulegen, da es sich bei der Programmierung empfiehlt, einen Nichtpunkterparameter auf 0 (null) festzulegen, wenn er von der aufgerufenen Funktion nicht verwendet wird.
-
pPump [ In]
-
Typ: ID3DX10ThreadPump*
Ein Zeiger auf eine Threadpumpschnittstelle (siehe ID3DX10ThreadPump-Schnittstelle). Geben Sie mit NULL an, dass diese Funktion erst zurückgegeben werden soll, wenn sie abgeschlossen ist.
-
ppShader [ out]
-
Typ: ID3D10Blob**
Ein Zeiger auf eine ID3D10Blob-Schnittstelle, die den kompilierten Shader sowie alle eingebetteten Debug- und Symboltabelleninformationen enthält.
-
ppErrorMsgs [ out]
-
Typ: ID3D10Blob**
Ein Zeiger auf eine ID3D10Blob-Schnittstelle, die eine Liste von Fehlern und Warnungen enthält, die während der Kompilierung aufgetreten sind. Diese Fehler und Warnungen sind mit der Debugausgabe eines Debuggers identisch.
-
pHResult [ out]
-
Typ: HRESULT*
Ein Zeiger auf den Rückgabewert. Kann NULL sein. Wenn pPump nicht NULL ist, muss pHResult ein gültiger Speicherort sein, bis die asynchrone Ausführung abgeschlossen ist.
Rückgabewert
Typ: HRESULT
Der Rückgabewert ist einer der In Direct3D 10-Rückgabecodes aufgeführtenWerte.
Bemerkungen
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|