0 out of 1 rated this helpful - Rate this topic

D3DXCreateEffect function

Applies to: desktop apps only

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

D3DXCompileShader
D3DXCompileShaderFromResource

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Documentation bug/omission
pDefines must be a NULL-terminated array otherwise you'll likely crash the compiler.  This is documented in D3DXCreateEffectFromFile 
but not here.