D3DX10CompileFromMemory 函数
注意
建议使用 Fxc.exe 命令行编译器或使用 D3DCompile API 脱机编译,而不是使用此旧函数。
编译内存中加载的着色器或效果。
语法
HRESULT D3DX10CompileFromMemory(
_In_ LPCSTR pSrcData,
_In_ SIZE_T SrcDataLen,
_In_ LPCSTR pFileName,
_In_ const D3D10_SHADER_MACRO *pDefines,
_In_ LPD3D10INCLUDE pInclude,
_In_ LPCSTR pFunctionName,
_In_ LPCSTR pProfile,
_In_ UINT Flags1,
_In_ UINT Flags2,
_In_ ID3DX10ThreadPump *pPump,
_Out_ ID3D10Blob **ppShader,
_Out_ ID3D10Blob **ppErrorMsgs,
_Out_ HRESULT *pHResult
);
parameters
-
pSrcData [in]
-
类型: LPCSTR
指向内存中着色器的指针。
-
SrcDataLen [in]
-
类型: SIZE_T
内存中着色器的大小。
-
pFileName [in]
-
类型: LPCSTR
包含着色器代码的文件的名称。
-
pDefines [in]
-
类型: const D3D_SHADER_MACRO*
可选。 指向宏定义数组的指针 (请参阅 D3D_SHADER_MACRO) 。 数组中的最后一个结构充当终止符,并且必须将所有成员设置为 0。 如果未使用,请将 pDefines 设置为 NULL。
-
pInclude [in]
-
类型: LPD3D10INCLUDE
可选。 指向 ID3D10Include 接口 的指针,用于处理包含文件。 如果着色器包含#include,则将其设置为 NULL 将导致编译错误。
-
pFunctionName [in]
-
类型: LPCSTR
着色器执行开始的着色器入口点函数的名称。 编译效果时, D3DX10CompileFromMemory 忽略 pFunctionName;建议将 pFunctionName 设置为 NULL ,因为如果调用的函数不使用,则最好将指针参数设置为 NULL 。
-
pProfile [in]
-
类型: LPCSTR
-
Flags1 [in]
-
类型: UINT
-
Flags2 [in]
-
类型: UINT
效果编译标志。 编译着色器而不是效果文件时, D3DX10CompileFromMemory 将忽略 Flags2;建议将 Flags2 设置为零,因为如果调用的函数不使用非pointer 参数,则最好将非pointer 参数设置为零。
-
pPump [in]
-
类型: ID3DX10ThreadPump*
指向线程泵接口的指针 (请参阅 ID3DX10ThreadPump 接口) 。 使用 NULL 指定此函数在完成之前不应返回。
-
ppShader [out]
-
类型: ID3D10Blob**
指向 ID3D10Blob 接口 的指针,该接口包含已编译的着色器以及任何嵌入的调试和符号表信息。
-
ppErrorMsgs [out]
-
类型: ID3D10Blob**
指向 ID3D10Blob 接口 的指针,该接口包含编译过程中发生的错误和警告的列表。 这些错误和警告与调试器的调试输出相同。
-
pHResult [out]
-
类型: HRESULT*
指向返回值的指针。 可以为 NULL。 如果 pPump 不为 NULL,则 pHResult 必须是有效的内存位置,直到异步执行完成。
返回值
类型: HRESULT
返回值是 Direct3D 10 返回代码中列出的值之一。
要求
要求 | 值 |
---|---|
标头 |
|
请参阅