Name
cgD3D11BindProgram - activate a program with D3D
Synopsis
#include <Cg/cgD3D11.h>
HRESULT cgD3D11BindProgram( CGprogram program );
Parameters
- program
-
The program to activate with D3D.
Return Values
Returns D3D_OK if the function succeeds.
Returns the D3D failure code if the function fails due to a D3D call.
Description
cgD3D11BindProgram activates a program with D3D. The program is activated
using ID3D11DeviceContext::VSSetShader or ID3D11DeviceContext::PSSetShader
depending on the program's profile type.
D3D allows only one vertex shader and one pixel shader to be active at any given time, so activating a program of a given type implicitly deactivates any other program of a that type.
Examples
// vertexProg and pixelProg are CGprograms initialized elsewhere
// pDevContext is an ID3D11DeviceContext interface intialized elsewhere
...
HRESULT hr = cgD3D11BindProgram(vertexProg);
HRESULT hr2 = cgD3D11BindProgram(pixelProg);
Errors
E_FAIL is returned if program was not loaded with the
cgD3D11LoadProgram.
E_FAIL is returned if a required D3D device is NULL. This
usually occurs when an expanded interface routine is called but a D3D device
has not been set with cgD3D11SetDevice.
History
cgD3D11BindProgram was introduced in Cg 3.0.
See Also
cgD3D11LoadProgram,
cgD3D11SetTextureParameter
|