D3DPreprocess-Funktion (d3dcompiler.h)
Verarbeitet nicht kompilierten HLSL-Code vor.
Syntax
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
Parameter
[in] pSrcData
Typ: LPCVOID
Ein Zeiger auf nicht kompilierte Shaderdaten; entweder ASCII-HLSL-Code oder ein kompilierter Effekt.
[in] SrcDataSize
Typ: SIZE_T
Länge von pSrcData.
[in, optional] pSourceName
Typ: LPCSTR
Der Name der Datei, die den nicht kompilierten HLSL-Code enthält.
[in, optional] pDefines
Typ: const D3D_SHADER_MACRO*
Ein Array von NULL-beendeten Makrodefinitionen (siehe D3D_SHADER_MACRO).
[in, optional] pInclude
Typ: ID3DInclude*
Ein Zeiger auf eine ID3DInclude für die Verarbeitung von Includedateien. Wenn Sie diesen Wert auf NULL festlegen, wird ein Kompilierfehler ausgelöst, wenn ein Shader einen #include enthält. Sie können das D3D_COMPILE_STANDARD_FILE_INCLUDE Makro übergeben, bei dem es sich um einen Zeiger auf einen standardmäßigen Includehandler handelt. Dieser standardmäßige Includehandler umfasst Dateien, die relativ zum aktuellen Verzeichnis sind, und Dateien, die relativ zum Verzeichnis der ursprünglichen Quelldatei sind. Wenn Sie D3D_COMPILE_STANDARD_FILE_INCLUDE verwenden, müssen Sie den Namen der Quelldatei im pSourceName-Parameter angeben. Der Compiler leitet das anfängliche relative Verzeichnis von pSourceName ab.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Typ: ID3DBlob**
Die Adresse eines ID3DBlobs , das den kompilierten Code enthält.
[out, optional] ppErrorMsgs
Typ: ID3DBlob**
Ein Zeiger auf ein ID3DBlob , das Compilerfehlermeldungen enthält, oder NULL , wenn keine Fehler aufgetreten sind.
Rückgabewert
Typ: HRESULT
Gibt einen der Direct3D 11-Rückgabecodes zurück.
Hinweise
D3DPreprocess-Ausgaben#line-Anweisungen und behält die Zeilennummerierung der Quelleingabe bei, sodass die Ausgabezeilennummerierung ordnungsgemäß mit der Eingabequelle verknüpft werden kann.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3dcompiler.h |
Bibliothek | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für