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
Requirement | Value |
---|---|
Header |
|
Library |
|
See also