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 |