D3DXPreprocessShaderFromResource function
Preprocesses a shader resource without performing compilation. This resolves all #defines and #includes, providing a self-contained shader for subsequent compilation.
Note
Instead of using this legacy function, we recommend that you use the D3DPreprocess API.
Syntax
HRESULT D3DXPreprocessShaderFromResource(
_In_ HMODULE hSrcModule,
_In_ LPCSTR pSrcResource,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_Out_ LPD3DXBUFFER *ppShaderText,
_Out_ LPD3DXBUFFER *ppErrorMsgs
);
Parameters
-
hSrcModule [in]
-
Type: HMODULE
Handle to the module that holds the shader resource. If this value is NULL, the current module will be used.
-
pSrcResource [in]
-
Type: LPCSTR
String that represents the name of the resource in the module.
-
pDefines [in]
-
Type: const D3DXMACRO*
An optional NULL terminated array of D3DXMACRO structures. This value may be NULL.
-
pInclude [in]
-
Type: LPD3DXINCLUDE
Optional interface pointer, ID3DXInclude, to use for handling #include directives. If this value is NULL, #includes will either be honored when compiling from a file or will cause an error when compiled from a resource or memory.
-
ppShaderText [out]
-
Type: LPD3DXBUFFER*
Returns a buffer containing a single large string that represents the resulting formatted token stream.
-
ppErrorMsgs [out]
-
Type: LPD3DXBUFFER*
Returns a buffer containing a listing of errors and warnings that were encountered during the compile. These are the same messages the debugger displays when running in debug mode. This value may be NULL.
Return value
Type: HRESULT
If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|
See also