D3DXCreateEffectFromResource function

Create an effect from an ASCII or binary effect description.

Syntax


HRESULT D3DXCreateEffectFromResource(
  _In_   LPDIRECT3DDEVICE9 pDevice,
  _In_   HMODULE hSrcModule,
  _In_   LPCTSTR pSrcResource,
  _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.

hSrcModule [in]

Type: HMODULE

Handle to a module containing the effect description. If this parameter is NULL, the current module will be used.

pSrcResource [in]

Type: LPCTSTR

Pointer to the resource. This parameter supports both Unicode and ANSI strings. See Remarks.

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 hSrcModule contains a text effect, flags can be a combination of D3DXSHADER Flags and D3DXFX flags; otherwise, hSrcModule 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 buffer containing the compiled effect.

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.

Remarks

If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the LPCTSTR data type resolves to LPCSTR.

The compiler setting also determines the function version. If Unicode is defined, the function call resolves to D3DXCreateEffectFromResourceW. Otherwise, the function call resolves to D3DXCreateEffectFromResourceA because ANSI strings are being used.

D3DXCreateEffectFromResource loads data from a resource of type RT_RCDATA. See MSDN for more information about Windows resources.

Requirements

Header

D3DX9Effect.h

Library

D3dx9.lib

See also

D3DXCompileShader
D3DXCompileShaderFromResource

 

 

Community Additions

ADD
Show:
© 2015 Microsoft