D3DXPreprocessShader-Funktion
Verarbeitet einen Shader vor, ohne kompilieren zu müssen. Dadurch werden alle #defines und #includes aufgelöst und ein eigenständiger Shader für die nachfolgende Kompilierung bereitgestellt.
Hinweis
Anstatt diese Legacyfunktion zu verwenden, wird empfohlen, die D3DPreprocess-API zu verwenden.
Syntax
HRESULT D3DXPreprocessShader(
_In_ LPCSTR pSrcData,
_In_ UINT SrcDataSize,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_Out_ LPD3DXBUFFER *ppShaderText,
_Out_ LPD3DXBUFFER *ppErrorMsgs
);
Parameter
-
pSrcData [in]
-
Typ: LPCSTR
Zeiger auf eine Zeichenfolge, die den Shader enthält.
-
SrcDataSize [in]
-
Typ: UINT
Länge der Daten in Bytes.
-
pDefines [in]
-
Typ: const D3DXMACRO*
Ein optionales NULL-beendetes Array von D3DXMACRO-Strukturen . Dieser Wert kann NULL sein.
-
pInclude [in]
-
Typ: LPD3DXINCLUDE
Optionaler Schnittstellenzeiger ID3DXInclude, der für die Verarbeitung #include-Anweisungen verwendet werden soll. Wenn dieser Wert NULL ist, wird #includes entweder beim Kompilieren aus einer Datei berücksichtigt oder verursacht einen Fehler, wenn er aus einer Ressource oder einem Arbeitsspeicher kompiliert wird.
-
ppShaderText [out]
-
Typ: LPD3DXBUFFER*
Gibt einen Puffer zurück, der eine einzelne große Zeichenfolge enthält, die den resultierenden formatierten Tokenstream darstellt.
-
ppErrorMsgs [out]
-
Typ: LPD3DXBUFFER*
Gibt einen Puffer mit einer Liste von Fehlern und Warnungen zurück, die während der Kompilierung aufgetreten sind. Dies sind dieselben Meldungen, die der Debugger beim Ausführen im Debugmodus anzeigt. Dieser Wert kann NULL sein.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch