D3D10PreprocessShader-Funktion (d3d10shader.h)
Generieren Sie eine Shadertextzeichenfolge, die die Shadertoken enthält, die in einem kompilierten Shader gefunden werden.
Syntax
HRESULT D3D10PreprocessShader(
[in] LPCSTR pSrcData,
[in] SIZE_T SrcDataSize,
[in] LPCSTR pFileName,
[in] const D3D10_SHADER_MACRO *pDefines,
[in] LPD3D10INCLUDE pInclude,
[out] ID3D10Blob **ppShaderText,
[out] ID3D10Blob **ppErrorMsgs
);
Parameter
[in] pSrcData
Typ: LPCSTR
Zeiger auf eine Zeichenfolge, die den Shaderquellcode enthält.
[in] SrcDataSize
Typ: SIZE_T
Größe von pSrcData in Bytes.
[in] pFileName
Typ: LPCSTR
Der Name der Datei, die den Shadercode enthält.
[in] pDefines
Typ: const D3D10_SHADER_MACRO*
Optional. Zeiger auf ein Array von Makrodefinitionen (siehe D3D10_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.
[in] pInclude
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.
[out] ppShaderText
Typ: ID3D10Blob**
Ein Zeiger auf einen Puffer, der einen Zeiger auf eine ID3D10Blob-Schnittstelle empfängt, die eine einzelne Zeichenfolge enthält, die Shadertoken enthält.
[out] ppErrorMsgs
Typ: ID3D10Blob**
Ein Zeiger auf einen Puffer, der einen Zeiger auf eine ID3D10Blob-Schnittstelle empfängt, 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.
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.
Hinweise
Verwenden Sie diese Funktion, um einen Shadertokenstream zu generieren, bei dem es sich um die kompilierte Ausgabe des Shadercompilers handelt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d10shader.h |
Bibliothek | D3D10.lib |
DLL | D3D10.dll |