D3D10PreprocessShader 函数 (d3d10shader.h)

生成一个着色器文本字符串,该字符串包含将在编译的着色器中找到的着色器标记。

语法

HRESULT D3D10PreprocessShader(
  [in]  LPCSTR                   pSrcData,
  [in]  SIZE_T                   SrcDataSize,
  [in]  LPCSTR                   pFileName,
  [in]  const D3D10_SHADER_MACRO *pDefines,
  [in]  LPD3D10INCLUDE           pInclude,
  [out] ID3D10Blob               **ppShaderText,
  [out] ID3D10Blob               **ppErrorMsgs
);

参数

[in] pSrcData

类型: LPCSTR

指向包含着色器源代码的字符串的指针。

[in] SrcDataSize

类型: SIZE_T

pSrcData 的大小(以字节为单位)。

[in] pFileName

类型: LPCSTR

包含着色器代码的文件的名称。

[in] pDefines

类型: const D3D10_SHADER_MACRO*

可选。 指向宏定义的数组的指针, (查看 D3D10_SHADER_MACRO) 。 数组中的最后一个结构用作终止符,并且必须将所有成员设置为 0。
如果未使用,请将 pDefines 设置为 NULL

[in] pInclude

类型: LPD3D10INCLUDE

可选。 指向 ID3D10Include 接口 的指针,用于处理包含文件。 如果着色器包含 #include,则将其设置为 NULL 将导致编译错误。

[out] ppShaderText

类型: ID3D10Blob**

指向缓冲区的指针,该缓冲区接收指向 ID3D10Blob 接口 的指针,该接口包含包含着色器标记的单个字符串。

[out] ppErrorMsgs

类型: ID3D10Blob**

指向缓冲区的指针,该缓冲区接收指向 ID3D10Blob 接口 的指针,该接口包含编译过程中发生的错误和警告的列表。 这些错误和警告与调试器的调试输出相同。

返回值

类型: HRESULT

返回以下 Direct3D 10 返回代码之一。

注解

使用此函数生成着色器令牌流,该流是着色器编译器的编译输出。

要求

要求
目标平台 Windows
标头 d3d10shader.h
Library D3D10.lib
DLL D3D10.dll

另请参阅

着色器函数