Freigeben über


D3DXCreateEffectFromResourceEx-Funktion

Erstellen Sie einen Effekt aus einer ASCII- oder binären Effektbeschreibung. Dies ist eine erweiterte Version von D3DXCreateEffectFromResource , mit der eine Anwendung steuern kann, welche Parameter vom Effektsystem ignoriert werden.

Syntax

HRESULT D3DXCreateEffectFromResourceEx(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        HMODULE           hSrcModule,
  _In_        LPCTSTR           pSrcResource,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        LPCSTR            pSkipConstants,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

Parameter

pDevice [in]

Typ: LPDIRECT3DDEVICE9

Zeiger auf das Gerät.

hSrcModule [in]

Typ: HMODULE

Handle mit einem Modul, das die Effektbeschreibung enthält. Wenn dieser Parameter NULL ist, wird das aktuelle Modul verwendet.

pSrcResource [in]

Typ: LPCTSTR

Zeiger auf die Ressource. Dieser Parameter unterstützt sowohl Unicode- als auch ANSI-Zeichenfolgen. Siehe Hinweise.

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-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.

pSkipConstants [in]

Typ: LPCSTR

Eine Zeichenfolge von Effektparametern, die vom Effektsystem ignoriert werden. Die Zeichenfolge muss NULL beendet sein und muss den Namen jeder von der Anwendung verwalteten Konstanten enthalten, die durch ein Semikolon getrennt sind.

Flaggen [in]

Typ: DWORD

Wenn pSrcResource einen Texteffekt enthält, können Flags eine Kombination aus D3DXSHADER-Flags und D3DXFX-Flags sein. Andernfalls enthält pSrcResource einen binären Effekt, und die einzigen berücksichtigten Flags sind D3DXFX-Flags. Der Direct3D 10 HLSL-Compiler ist jetzt die Standardeinstellung. 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 Puffer zurück, der den kompilierten Effekt enthält.

ppCompilationErrors [out]

Typ: LPD3DXBUFFER*

Gibt einen Puffer zurück, der eine Auflistung von Kompilierfehlern 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.

Bemerkungen

Diese Funktion ist eine erweiterte Version von D3DXCreateEffectFromResource , mit der eine Anwendung angeben kann, welche Effektkonstanten von der Anwendung verwaltet werden. Eine Konstante, die von der Anwendung verwaltet wird, wird vom Effektsystem ignoriert. Das heißt, die Anwendung ist für die Initialisierung der Konstante sowie für das Speichern und Wiederherstellen ihres Zustands verantwortlich, wenn dies angebracht ist.

Diese Funktion überprüft jede Konstante in pSkipConstants auf Folgendes:

  • Sie ist an ein konstantes Register gebunden.
  • Es wird nur im HLSL-Shadercode verwendet.

Wenn eine Konstante in der Zeichenfolge benannt ist, die im Effekt nicht vorhanden ist, wird sie ignoriert.

Wenn die Compilereinstellungen Unicode erfordern, wird der Datentyp LPCTSTR in LPCWSTR aufgelöst. Andernfalls wird der LPCTSTR-Datentyp in LPCSTR aufgelöst.

Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXCreateEffectFromResourceW aufgelöst. Andernfalls wird der Funktionsaufruf in D3DXCreateEffectFromResourceA aufgelöst, da ANSI-Zeichenfolgen verwendet werden.

D3DXCreateEffectFromResource lädt Daten aus einer Ressource vom Typ RT_RCDATA. Weitere Informationen zu Windows-Ressourcen finden Sie unter MSDN.

Anforderungen

Anforderung Wert
Header
D3DX9Effect.h
Bibliothek
D3dx9.lib

Siehe auch

Effektfunktionen

D3DXCreateEffectEx

D3DXCreateEffectFromFileEx