D3DX10CreateEffectFromResource 函数

从资源创建效果。

语法

HRESULT D3DX10CreateEffectFromResource(
  _In_        HMODULE            hModule,
  _In_        LPCTSTR            pResourceName,
  _In_        LPCTSTR            pSrcFileName,
  _In_  const D3D10_SHADER_MACRO *pDefines,
  _In_        ID3D10Include      *pInclude,
  _In_        LPCSTR             pProfile,
  _In_        UINT               HLSLFlags,
  _In_        UINT               FXFlags,
  _In_        ID3D10Device       *pDevice,
  _In_        ID3D10EffectPool   *pEffectPool,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Effect       **ppEffect,
  _Out_       ID3D10Blob         **ppErrors,
  _Out_       HRESULT            *pHResult
);

parameters

hModule [in]

类型: HMODULE

包含效果的资源模块的句柄。 可以使用 GetModuleHandle 函数获取 HMODULE

pResourceName [in]

类型: LPCTSTR

hModule 中资源的名称。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,数据类型解析为 LPCSTR。

pSrcFileName [in]

类型: LPCTSTR

可选。 效果文件名,仅用于错误消息。 可以为 NULL

pDefines [in]

类型: const D3D_SHADER_MACRO*

以 NULL 结尾的着色器宏数组, (查看 D3D_SHADER_MACRO) ;将此设置为 NULL 可指定任何宏。

pInclude [in]

类型: ID3D10Include*

指向包含接口的指针 (请参阅 ID3D10Include 接口) 。 此参数可以为 NULL。

pProfile [in]

类型: LPCSTR

一个指定 着色器配置文件或着色器模型的字符串。

HLSLFlags [in]

类型: UINT

HLSL 编译选项 (请参阅 D3D10_SHADER常量) 。

FXFlags [in]

类型: UINT

效果编译选项 (请参阅 编译和效果标志) 。

pDevice [in]

类型: ID3D10Device*

指向设备的指针 (看到将使用这些资源的 ID3D10Device 接口) 。

pEffectPool [in]

类型: ID3D10EffectPool*

指向效果池的指针 (请参阅 ID3D10EffectPool 接口) ,以便在效果之间共享变量。

pPump [in]

类型: ID3DX10ThreadPump*

指向线程泵接口的指针 (请参阅 ID3DX10ThreadPump 接口) 。 使用 NULL 指定此函数在完成之前不应返回。

ppEffect [out]

类型: ID3D10Effect**

指向效果的指针的地址 (请参阅创建的 ID3D10Effect 接口) 。

ppErrors [out]

类型: ID3D10Blob**

指向内存的指针的地址 (请参阅 ID3D10Blob 接口) ,其中包含效果编译错误(如果有)。

pHResult [out]

类型: HRESULT*

指向返回值的指针。 可能为 NULL。 如果 pPump 不为 NULL,则 pHResult 必须是有效的内存位置,直到异步执行完成。

返回值

类型: HRESULT

返回值是 Direct3D 10 返回代码中列出的值之一。

要求

要求
标头
D3DX10Async.h

请参阅

常规用途函数