D3DXCreateEffectFromResource 函数
根据 ASCII 或二进制效果说明创建效果。
语法
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
);
参数
-
pDevice [in]
-
指向设备的指针。
-
hSrcModule [in]
-
类型: HMODULE
包含效果说明的模块的句柄。 如果此参数为 NULL,则将使用当前模块。
-
pSrcResource [in]
-
类型: LPCTSTR
指向资源的指针。 此参数同时支持 Unicode 和 ANSI 字符串。 请参阅“备注”。
-
pDefines [in]
-
类型: const D3DXMACRO*
描述预处理器定义的 D3DXMACRO 结构的可选 NULL 终止数组。 此值可以为 NULL。
-
pInclude [in]
-
类型: LPD3DXINCLUDE
可选接口指针 ID3DXInclude,用于处理#include指令。 如果此值为 NULL,则从文件编译时将遵循#includes,或者在从资源或内存编译时导致错误。
-
Flags [in]
-
类型: DWORD
如果 hSrcModule 包含文本效果,标志可以是 D3DXSHADER 标志 和 D3DXFX 标志的组合;否则, hSrcModule 包含二进制效果,唯一遵循的标志是 D3DXFX 标志。 Direct3D 10 HLSL 编译器现在是默认编译器。 有关详细信息 ,请参阅效果编译器工具 。
-
pPool [in]
-
类型: LPD3DXEFFECTPOOL
指向要用于共享参数的 ID3DXEffectPool 对象的指针。 如果此值为 NULL,则不会共享任何参数。
-
ppEffect [out]
-
类型: LPD3DXEFFECT*
返回包含编译效果的缓冲区。
-
ppCompilationErrors [out]
-
类型: LPD3DXBUFFER*
返回包含编译错误列表的缓冲区。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
备注
如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,LPCTSTR 数据类型解析为 LPCSTR。
编译器设置还确定函数版本。 如果定义了 Unicode,则函数调用将解析为 D3DXCreateEffectFromResourceW。 否则,函数调用将解析为 D3DXCreateEffectFromResourceA,因为正在使用 ANSI 字符串。
D3DXCreateEffectFromResource 从类型为 RT_RCDATA 的资源加载数据。 有关 Windows 资源的详细信息,请参阅 MSDN。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅