ID3D11DeviceContext::PSSetShader Method

Sets a pixel shader to the device.

Syntax

public:
void PSSetShader(
         ID3D11PixelShader *pPixelShader,
         ID3D11ClassInstance * const *ppClassInstances,
         UINT NumClassInstances
)  

Parameters

pPixelShader
Type: ID3D11PixelShader *

[in, optional] Pointer to a pixel shader (see ID3D11PixelShader). Passing in NULL disables the shader for this pipeline stage.

ppClassInstances
Type: ID3D11ClassInstance * const *

[in, optional] A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces.

NumClassInstances
Type: UINT 

The number of class-instance interfaces in the array.

Return value

None.

Remarks

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Set ppClassInstances to NULL if no interfaces are used in the shader. If it is not NULL, the number of class instances must match the number of interfaces used in the shader. Furthermore, each interface pointer must have a corresponding class instance or the assigned shader will be disabled.

Requirements

Header: Declared in d3d11_x.h (d3d11.h on other Windows platforms).

Library: Use d3d11_x.lib (d3d11.lib on other Windows platforms).

See also

ID3D11DeviceContext

ID3D11DeviceContext Members