ID3D11DeviceContext::VSSetShader method (d3d11.h)

Set a vertex shader to the device.


void VSSetShader(
  [in, optional] ID3D11VertexShader  *pVertexShader,
  [in, optional] ID3D11ClassInstance * const *ppClassInstances,
                 UINT                NumClassInstances


[in, optional] pVertexShader

Type: ID3D11VertexShader*

Pointer to a vertex shader (see ID3D11VertexShader). Passing in NULL disables the shader for this pipeline stage.

[in, optional] ppClassInstances

Type: ID3D11ClassInstance*

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.


Type: UINT

The number of class-instance interfaces in the array.

Return value



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.


Requirement Value
Target Platform Windows
Header d3d11.h
Library D3D11.lib

See also