?/TD> |
Microsoft DirectX 9.0 |
Create an effect from an ASCII or binary effect description.
Syntax
HRESULT D3DXCreateEffect(
LPDIRECT3DDEVICE9 pDevice, LPCVOID pSrcData, UINT SrcDataLen, CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXBUFFER* ppEffect, LPD3DXBUFFER *ppCompilationErrors );
Parameters
- pDevice
- [in] Pointer to the device that will create the effect. See IDirect3DDevice9.
- pSrcData
- [in] Pointer to a buffer containing an effect description.
- SrcDataLen
- [in] Length of the effect data, in bytes.
- pDefines
- [in] Pointer to the preprocessor definitions. See D3DXMACRO.
- pInclude
- [in] 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] Compile options identified by D3DXSHADER.
- pPool
- [in] Pointer to a ID3DXEffectPool object to use for shared parameters. If this value is NULL, no parameters will be shared.
- ppEffect
- [out] Returns a buffer containing the compiled effect.
- ppCompilationErrors
- [out] Returns a buffer containing a listing of compile errors.
Return Value
If the function succeeds, the return value is D3D_OK.
If the function fails, the return value can be one of the following values.
D3DERR_INVALIDCALL The method call is invalid. For example, a method's parameter may have an invalid value. D3DXERR_INVALIDDATA The data is invalid. E_OUTOFMEMORY Microsoft?Direct3D?could not allocate sufficient memory to complete the call.
Function Information
Header d3dx9effect.h Import library d3dx9.lib Minimum operating systems Windows 98
See Also
D3DXCompileShader, D3DXCompileShaderFromResource