D3DXCreateEffect function

Create an effect from an ASCII or binary effect description.

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
);

Parameters

pDevice [in]

Type: LPDIRECT3DDEVICE9

Pointer to the device that will create the effect. See IDirect3DDevice9.

pSrcData [in]

Type: LPCVOID

Pointer to a buffer containing an effect description.

SrcDataLen [in]

Type: UINT

Length of the effect data, in bytes.

pDefines [in]

Type: const D3DXMACRO*

An optional NULL-terminated array of D3DXMACRO structures that describe preprocessor definitions. This value can be NULL.

pInclude [in]

Type: LPD3DXINCLUDE

Optional interface pointer, ID3DXInclude, to use for handling #include directives. If this value is NULL, #includes will either be honored when compiling from a file or will cause an error when compiled from a resource or memory.

Flags [in]

Type: DWORD

If pSrcData contains a text effect, flags can be a combination of D3DXSHADER Flags and D3DXFX flags; otherwise, pSrcData contains a binary effect and the only flags honored are D3DXFX flags. The Direct3D 10 HLSL compiler is now the default. See Effect-Compiler Tool for details.

pPool [in]

Type: LPD3DXEFFECTPOOL

Pointer to a ID3DXEffectPool object to use for shared parameters. If this value is NULL, no parameters will be shared.

ppEffect [out]

Type: LPD3DXEFFECT*

Returns a pointer to an ID3DXEffect interface.

ppCompilationErrors [out]

Type: LPD3DXBUFFER*

Returns a buffer containing a listing of compile errors.

Return value

Type: HRESULT

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Requirements

Header

D3DX9Effect.h

Library

D3dx9.lib

See also

Effect Functions
D3DXCompileShader
D3DXCompileShaderFromResource

 

 

Show: