D3DXPreprocessShaderFromResource 函数
预处理着色器资源而不执行编译。 这将解析所有#defines和#includes,为后续编译提供自包含着色器。
注意
建议不要使用此旧函数,而是使用 D3DPreprocess API。
语法
HRESULT D3DXPreprocessShaderFromResource(
_In_ HMODULE hSrcModule,
_In_ LPCSTR pSrcResource,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_Out_ LPD3DXBUFFER *ppShaderText,
_Out_ LPD3DXBUFFER *ppErrorMsgs
);
parameters
-
hSrcModule [in]
-
类型: HMODULE
保存着色器资源的模块的句柄。 如果此值为 NULL,将使用当前模块。
-
pSrcResource [in]
-
类型: LPCSTR
表示模块中资源名称的字符串。
-
pDefines [in]
-
类型: const D3DXMACRO*
D3DXMACRO 结构的可选 NULL 终止数组。 此值可以为 NULL。
-
pInclude [in]
-
类型: LPD3DXINCLUDE
可选接口指针 ID3DXInclude,用于处理#include指令。 如果此值为 NULL,则从文件编译时将遵循#includes,或者在从资源或内存编译时会导致错误。
-
ppShaderText [out]
-
类型: LPD3DXBUFFER*
返回一个缓冲区,其中包含表示生成的格式化令牌流的单个大型字符串。
-
ppErrorMsgs [out]
-
类型: LPD3DXBUFFER*
返回一个缓冲区,其中包含编译过程中遇到的错误和警告的列表。 这些消息与调试器在调试模式下运行时显示的消息相同。 此值可以为 NULL。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
请参阅