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
Anstatt diese Legacyfunktion zu verwenden, empfiehlt es sich, offline mit dem Fxc.exe-Befehlszeilencompiler oder der D3DCompile-API zu kompilieren.
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.
-
pDefines [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 pDefines auf NULL fest.
-
pInclude [in]
-
Typ: LPD3D10INCLUDE
Optional. Zeiger auf eine ID3D10Einschließschnittstelle für die Behandlung von Includedateien. Wenn Sie diesen Wert auf NULL festlegen, wird ein Kompilierfehler ausgelöst, wenn ein Shader einen #include enthält.
-
pFunctionName [in]
-
Typ: LPCSTR
Name der Shadereinstiegspunktfunktion, in der die Shaderausführung beginnt. Wenn Sie einen Effekt kompilieren, ignoriert D3DX10CompileFromFilepFunctionName; 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 Shadermodell angibt; kann ein beliebiges Profil in Shadermodell 2, Shadermodell 3 oder Shadermodell 4 sein.
-
Flags1 [in]
-
Typ: UINT
-
Flags2 [in]
-
Typ: UINT
Effektkompilierungsflags. Wenn Sie einen Shader und keine Effektdatei kompilieren, ignoriert D3DX10CompileFromFileFlags2; Es wird empfohlen, Flags2 auf 0 festzulegen, da es eine gute Programmierpraxis ist, einen Nicht-Zeigerparameter auf 0 festzulegen, wenn die aufgerufene Funktion ihn nicht verwendet.
-
pPump [in]
-
Typ: ID3DX10ThreadPump*
Ein Zeiger auf eine Threadpumpenschnittstelle (siehe ID3DX10ThreadPump-Schnittstelle). Verwenden Sie NULL , um anzugeben, 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 identisch mit der Debugausgabe eines Debuggers.
-
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ührten Werte.
Bemerkungen
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
Siehe auch