D3DPreprocess-Funktion (d3dcompiler.h)
Verarbeitet nicht kompilierten HLSL-Code.
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 kompilierter Effekt.
[in] SrcDataSize
Typ: SIZE_T
Länge der 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- zum Behandeln von Dateien. Wenn Sie diesen Wert auf NULL- festlegen, tritt ein Kompilierungsfehler auf, wenn ein Shader eine #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 include-Handler handelt. Dieser Standardhandler enthält Dateien, die relativ zum aktuellen Verzeichnis und dateien relativ zum Verzeichnis der ursprünglichen Quelldatei sind. Wenn Sie D3D_COMPILE_STANDARD_FILE_INCLUDEverwenden, müssen Sie den Namen der Quelldatei im pSourceName Parameter angeben; der Compiler leitet das ursprüngliche relative Verzeichnis von pSourceNameab.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Typ: ID3DBlob**
Ein Zeiger auf eine Variable, die einen Zeiger auf die ID3DBlob Schnittstelle empfängt, die Sie für den Zugriff auf den vorverarbeiteten Code verwenden können.
[out, optional] ppErrorMsgs
Typ: ID3DBlob**
Ein Zeiger auf eine ID3DBlob-, die Compilerfehlermeldungen enthält, oder NULL-, wenn keine Fehler aufgetreten sind.
Rückgabewert
Typ: HRESULT-
Gibt einen der Direct3D 11-Rückgabecodeszurück.
Bemerkungen
D3DPreprocess#line Direktiven aus und behält die Zeilennummerierung der Quelleingabe bei, sodass die Zeilennummerierung ordnungsgemäß mit der Eingabequelle verknüpft werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Fenster |
Header- | d3dcompiler.h |
Library | D3dcompiler_47.lib |
DLL- | D3dcompiler_47.dll |