Freigeben über


D3DXCreateEffect-Funktion

Erstellen Sie einen Effekt aus einer ASCII- oder binären Effektbeschreibung.

Syntax

HRESULT D3DXCreateEffect(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCVOID           pSrcData,
  _In_        UINT              SrcDataLen,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

Parameter

pDevice [in]

Typ: LPDIRECT3DDEVICE9

Zeiger auf das Gerät, das den Effekt erzeugt. Siehe IDirect3DDevice9.

pSrcData [in]

Typ: LPCVOID

Zeiger auf einen Puffer, der eine Effektbeschreibung enthält.

SrcDataLen [in]

Typ: UINT

Länge der Effektdaten in Bytes.

pDefines [in]

Typ: const D3DXMACRO*

Ein optionales NULL-beendetes Array von D3DXMACRO-Strukturen , die Präprozessordefinitionen beschreiben. 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.

Flaggen [in]

Typ: DWORD

Wenn pSrcData einen Texteffekt enthält, können Flags eine Kombination aus D3DXSHADER-Flags und D3DXFX-Flags sein. andernfalls enthält pSrcData einen Binäreffekt, und die einzigen Flags, die berücksichtigt werden, sind D3DXFX-Flags. Der Direct3D 10 HLSL-Compiler ist jetzt der Standard. Weitere Informationen finden Sie unter Effect-Compiler Tool .

pPool [in]

Typ: LPD3DXEFFECTPOOL

Zeiger auf ein ID3DXEffectPool-Objekt , das für freigegebene Parameter verwendet werden soll. Wenn dieser Wert NULL ist, werden keine Parameter freigegeben.

ppEffect [out]

Typ: LPD3DXEFFECT*

Gibt einen Zeiger auf eine ID3DXEffect-Schnittstelle zurück.

ppCompilationErrors [out]

Typ: LPD3DXBUFFER*

Gibt einen Puffer zurück, der eine Auflistung von Kompilierungsfehlern enthält.

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

Weitere Informationen

Effektfunktionen

D3DXCompileShader

D3DXCompileShaderFromResource