D3DXPreprocessShader
Preprocesses a shader without performing compilation. This resolves all #defines and #includes, providing a self-contained shader for subsequent compilation.
HRESULT D3DXPreprocessShader(
LPCSTR pSrcData,
UINT SrcDataSize,
CONST D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs
);
Parameters
- pSrcData
- [in] Pointer to a string that contains the shader.
- SrcDataSize
- [in] Length of the data in bytes.
- pDefines
- [in] An optional NULL terminated array of D3DXMACRO structures. This value may be NULL.
- pInclude
- [in] 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] Returns a buffer containing a single large string that represents the resulting formatted token stream.
- ppErrorMsgs
- [out] 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 Values
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
Header: Declared in D3dx9shader.h.
See Also
D3DXPreprocessShaderFromFile, D3DXPreprocessShaderFromResource