D3DXPreprocessShader-Funktion

Verarbeitet einen Shader vor, ohne kompilieren zu müssen. Dies löst alle Definitionen und Includes auf # und stellt einen # eigenständigen Shader für die nachfolgende Kompilierung bereit.

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.

pDefine [ In]

Typ: const D3DXMACRO *

Ein optionales null-terminiertes Array von D3DXMACRO-Strukturen. Dieser Wert kann NULL sein.

pInclude [ In]

Typ: LPD3DXINCLUDE

Optionaler Schnittstellenzeiger ID3DXInclude, der für die Behandlung von # Includedirektiven verwendet werden soll. Wenn dieser Wert NULL ist, # wird includes entweder beim Kompilieren aus einer Datei berücksichtigt oder verursacht bei der Kompilierung aus einer Ressource oder aus dem Arbeitsspeicher einen Fehler.

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 zurück, der eine Liste von Fehlern und Warnungen enthält, die während der Kompilierung aufgetreten sind. Dies sind die gleichen Meldungen, die der Debugger anzeigt, wenn er im Debugmodus ausgeführt wird. Dieser Wert kann NULL sein.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ausgeführt wird, lautet der Rückgabewert D3D _ OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR _ INVALIDCALL, D3DXERR _ INVALIDDATA, E _ OUTOFMEMORY.

Anforderungen

Anforderung Wert
Header
D3DX9Shader.h
Bibliothek
D3dx9.lib

Siehe auch

Shaderfunktionen

D3DXPreprocessShaderFromFile

D3DXPreprocessShaderFromResource