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


Метод IDirect3DDevice9::SetDepthStencilSurface (d3d9.h)

Задает поверхность трафарета глубины.

Синтаксис

HRESULT SetDepthStencilSurface(
  [in] IDirect3DSurface9 *pNewZStencil
);

Параметры

[in] pNewZStencil

Тип: IDirect3DSurface9*

Адрес указателя на интерфейс IDirect3DSurface9 , представляющий поверхность трафарета глубины. Установка значения NULL отключает операцию трафарета глубины.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если pZStencilSurface отличается от NULL, возвращаемое значение D3DERR_INVALIDCALL, если поверхность трафарета недопустима.

Комментарии

К ограничениям для использования этого метода относятся следующие:

  • Тип multisample должен быть одинаковым для целевого объекта отрисовки и поверхности трафарета глубины.
  • Форматы должны быть совместимы для целевого объекта отрисовки и поверхности трафарета глубины. См. раздел IDirect3D9::CheckDepthStencilMatch.
  • Размер поверхности трафарета глубины должен быть больше или равен размеру целевого объекта отрисовки.
Эти ограничения проверяются только при использовании среды выполнения отладки при вызове любого из методов IDirect3DDevice9Draw.

Текстуры куба отличаются от других поверхностей тем, что они являются коллекциями поверхностей. Чтобы вызвать IDirect3DDevice9::SetDepthStencilSurface с текстурой куба, необходимо выбрать отдельное лицо с помощью IDirect3DCubeTexture9::GetCubeMapSurface и передать полученную поверхность в IDirect3DDevice9::SetDepthStencilSurface.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9.h (включая D3D9.h)
Библиотека D3D9.lib

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

IDirect3DDevice9

IDirect3DDevice9::GetDepthStencilSurface