функция обратного вызова PFND3DDDI_CLEAR (d3dumddi.h)
Функция Clear выполняет аппаратную очистку целевого объекта отрисовки, буфера глубины или буфера трафарета.
Синтаксис
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Параметры
[in] hDevice
Дескриптор устройства отображения (графический контекст).
unnamedParam2
pData [in]
Указатель на структуру D3DDDIARG_CLEAR , описывающую параметры аппаратной операции очистки.
unnamedParam3
NumRect [in]
Число прямоугольников в массиве в pRect для очистки. Если число прямоугольников равно нулю, очистка должна очистить весь целевой объект отрисовки, буфер глубины и буфер трафарета. В этом случае содержимое массива в pRect не определено, и драйвер не должен пытаться считывать их.
unnamedParam4
pRect [in]
Массив структур RECT , указывающих прямоугольные области буфера, которые должен очистить драйвер.
Возвращаемое значение
Функция Clear возвращает S_OK или соответствующий результат ошибки, если аппаратная операция очистки не выполнена.
Комментарии
То, как драйвер выполняет операцию очистки, зависит от количества прямоугольных областей, указанных в параметре NumRect , и значений, заданных в элементе FlagsD3DDDIARG_CLEAR. Значения D3DCLEAR_TARGET, D3DCLEAR_STENCIL и D3DCLEAR_ZBUFFER (определенные в D3d8types.h) указывают тип очищаемого буфера. Значение D3DCLEAR_COMPUTERECTS (определенное в D3dhal.h) указывает, как очистить буфер. Следующие параметры указывают, как драйвер должен очистить указанный тип буфера:
- Если параметр NumRect имеет значение 0 (NumRect== 0), а D3DCLEAR_COMPUTERECTS не задан в разделе Флаги, драйвер очищает 0 пикселей (то есть нет операции).
- Если параметру NumRect присвоено значение 0, а D3DCLEAR_COMPUTERECTS задано в разделе Флаги, драйвер очищает все окно просмотра (а не всю поверхность).
- Если параметру NumRect присвоено значение больше 0 (NumRect!= 0), а D3DCLEAR_COMPUTERECTS задано в разделе Флаги, драйвер обрезает прямоугольные области, заданные pRect , по отношению к текущему окне просмотра.
Если параметру NumRect присвоено значение больше 0 (NumRect> 0), а D3DCLEAR_COMPUTERECTS задано в разделе Флаги, драйвер обрезает указанные прямоугольные области в текущем окне просмотра и в прямоугольник ножницы, если приложение ранее установило D3DRS_SCISSORTESTENABLE. Если параметр NumRect> 0 и D3DCLEAR_COMPUTERECTS не задан, драйвер определяет, что среда выполнения Direct3D уже обрезала указанные прямоугольные области в текущем окне просмотра и в прямоугольник ножницы, если приложение ранее задало D3DRS_SCISSORTESTENABLE.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по