D3DX10PreprocessShaderFromMemory 函数

注意

建议使用 D3DPreprocess API,而不是使用此旧函数。

 

从内存创建着色器,而无需编译它。

语法

HRESULT D3DX10PreprocessShaderFromMemory(
  _In_        LPCSTR             pSrcData,
  _In_        SIZE_T             SrcDataSize,
  _In_        LPCSTR             pFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShaderText,
  _Out_       ID3D10Blob         **ppErrorMsgs
);

参数

pSrcData [in]

类型: LPCSTR

指向包含着色器的内存的指针。

SrcDataSize [in]

类型: SIZE_T

着色器的大小。

pFileName [in]

类型: LPCSTR

着色器的名称。

pDefines [in]

类型: const D3D_SHADER_MACRO*

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

pInclude [in]

类型: LPD3D10INCLUDE

指向包含接口的指针 (请参阅 ID3D10Include 接口) ;将此设置为 NULL 以指定没有包含文件。

pPump [in]

类型: ID3DX10ThreadPump*

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

ppShaderText [out]

类型: ID3D10Blob**

指向内存的指针 (看到包含未编译着色器的 ID3D10Blob 接口) 。

ppErrorMsgs [out]

类型: ID3D10Blob**

指向内存的指针的地址 (看到 ID3D10Blob 接口) ,其中包含效果创建错误(如果有)。

返回值

类型: HRESULT

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

要求

要求
标头
D3DX10.h

D3DX10.lib

另请参阅

常规用途函数