Поделиться через


Метод ID3D11DeviceContext::P SSetShader (d3d11.h)

Задает для устройства пиксельный шейдер.

Синтаксис

void PSSetShader(
  [in, optional] ID3D11PixelShader   *pPixelShader,
  [in, optional] ID3D11ClassInstance * const *ppClassInstances,
                 UINT                NumClassInstances
);

Параметры

[in, optional] pPixelShader

Тип: ID3D11PixelShader*

Указатель на пиксельный шейдер (см. ID3D11PixelShader). Передача значения NULL отключает шейдер для этого этапа конвейера.

[in, optional] ppClassInstances

Тип: ID3D11ClassInstance*

Указатель на массив интерфейсов экземпляра класса (см. ID3D11ClassInstance). Каждый интерфейс, используемый шейдером, должен иметь соответствующий экземпляр класса, иначе шейдер будет отключен. Задайте для параметра ppClassInstances значение NULL , если шейдер не использует интерфейсы.

NumClassInstances

Тип: UINT

Количество интерфейсов экземпляра класса в массиве.

Возвращаемое значение

None

Remarks

Метод будет содержать ссылку на переданные интерфейсы. Это отличается от поведения состояния устройства в Direct3D 10.

Максимальное количество экземпляров, которые может иметь шейдер, — 256.

Присвойте ppClassInstances значение NULL , если в шейдере не используются интерфейсы. Если значение не равно NULL, количество экземпляров класса должно соответствовать количеству интерфейсов, используемых в шейдере. Кроме того, каждый указатель интерфейса должен иметь соответствующий экземпляр класса, иначе назначенный шейдер будет отключен.

Windows Phone 8. Этот API поддерживается.

Требования

   
Целевая платформа Windows
Header d3d11.h
Библиотека D3D11.lib

См. также раздел

ID3D11DeviceContext