Метод IDirect3DDevice9::Clear (d3d9.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 | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |