D3DXPreprocessShaderFromResource-Funktion

Verarbeitet eine Shaderressource vor, ohne kompiliert zu werden. 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, empfiehlt es sich, die D3DPreprocess-API zu verwenden.

 

Syntax

HRESULT D3DXPreprocessShaderFromResource(
  _In_        HMODULE       hSrcModule,
  _In_        LPCSTR        pSrcResource,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

Parameter

hSrcModule [in]

Typ: HMODULE

Handle für das Modul, das die Shaderressource enthält. Wenn dieser Wert NULL ist, wird das aktuelle Modul verwendet.

pSrcResource [in]

Typ: LPCSTR

Zeichenfolge, die den Namen der Ressource im Modul darstellt.

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-Direktiven 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 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 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
D3DX9Shader.h
Bibliothek
D3dx9.lib

Siehe auch

Shaderfunktionen

D3DXPreprocessShaderFromFile

D3DXPreprocessShader