![]() |
![]() |
![]() |
Link a compiled shader at run time. This is a very lightweight operation.
Syntax
HRESULT LinkShader(
LPCSTR pProfile, DWORD Flags, CONST D3DXHANDLE *rgFragmentHandles, UINT cFragments, LPD3DXBUFFER* ppBuffer, LPD3DXBUFFER *ppErrorMsgs );
Parameters
- pProfile
- [in] Pointer to a shader profile which detemines the shader instruction set. See D3DXGetVertexShaderProfile or D3DXGetPixelShaderProfile for a list of the profiles available.
- Flags
- [in] Link options. See D3DXSHADER Compile Options.
- rgFragmentHandles
- [in] An array of shader fragment handles. See Handles.
- cFragments
- [in] Number of fragments to be linked.
- ppBuffer
- [out] Pointer to a buffer that contains compiled shader code. See ID3DXBuffer.
- ppErrorMsgs
- [out, retval] Buffer containing at least the first compile error message that occurred. This includes effect compiler errors and high-level language compile errors. For more information about accessing the buffer, see ID3DXBuffer.
Return Value
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value can be one of the following:
E_FAIL An undetermined error occurred inside the Microsoft Direct3D subsystem. D3DERR_INVALIDCALL The method call is invalid. For example, a method's parameter may have an invalid value. D3DXERR_INVALIDDATA The data is invalid. E_OUTOFMEMORY Direct3D could not allocate sufficient memory to complete the call.