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


Метод IDirect3DDevice9::Clear (d3d9helper.h)

Очищает одну или несколько поверхностей, таких как целевой объект отрисовки, несколько целевых объектов отрисовки, буфер трафарета и буфер глубины.

Синтаксис

HRESULT Clear(
  [in] DWORD         Count,
  [in] const D3DRECT *pRects,
  [in] DWORD         Flags,
  [in] D3DCOLOR      Color,
  [in] float         Z,
  [in] DWORD         Stencil
);

Параметры

[in] Count

Тип: DWORD

Число прямоугольников в массиве в pRects. Для параметра должно быть задано значение 0, если pRects имеет значение NULL. Может не иметь значения 0, если pRects является допустимым указателем.

[in] pRects

Тип: const D3DRECT*

Указатель на массив структур D3DRECT , описывающих прямоугольники для очистки. Задайте в прямоугольнике размеры целевого объекта отрисовки, чтобы очистить всю поверхность. Каждый прямоугольник использует экранные координаты, соответствующие точкам на целевом объекте отрисовки. Координаты обрезаются по границам прямоугольника окна просмотра. Чтобы указать, что весь прямоугольник окна просмотра должен быть очищен, задайте для этого параметра значение NULL , а для параметра Count — значение 0.

[in] Flags

Тип: DWORD

Сочетание одного или нескольких флагов D3DCLEAR , которые указывают поверхности, которые будут очищены.

[in] Color

Тип: D3DCOLOR

Очистите целевой объект отрисовки до этого цвета ARGB.

[in] Z

Тип: float

Очистите буфер глубины до этого нового значения z в диапазоне от 0 до 1. См. примечания.

[in] Stencil

Тип: DWORD

Очистите буфер трафарета до этого нового значения, которое находится в диапазоне от 0 до 2ⁿ-1 (n — это битовая глубина буфера трафарета). См. примечания.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение может быть следующим: D3DERR_INVALIDCALL.

Комментарии

Используйте этот метод для очистки поверхности, включая: целевой объект отрисовки, все целевые объекты отрисовки в MRT, буфер трафарета или буфер глубины. Флаги определяют, сколько поверхностей очищается. Используйте pRects для очистки подмножества поверхности, определенной массивом прямоугольников.

IDirect3DDevice9::Clear завершится ошибкой , если вы:

  • Попробуйте очистить буфер глубины или буфер трафарета целевого объекта отрисовки, у которых нет присоединенного буфера глубины.
  • Попробуйте очистить буфер трафарета, если буфер глубины не содержит данных набора элементов.

Требования

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

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

IDirect3DDevice9