структура D3DHAL_DP2CLEAR (d3dhal.h)

D3DHAL_DP2CLEAR содержит всю информацию, необходимую драйверу для аппаратной очистки целевого объекта отрисовки, буфера глубины или буфера трафарета.

Синтаксис

typedef struct _D3DHAL_DP2CLEAR {
  DWORD    dwFlags;
  DWORD    dwFillColor;
  D3DVALUE dvFillDepth;
  DWORD    dwFillStencil;
  RECT     Rects[1];
} D3DHAL_DP2CLEAR;

Члены

dwFlags

Указывает, какие буферы должен очистить драйвер. Этот член может быть побитовой ИЛИ следующих значений:

Значение Значение
D3DCLEAR_TARGET Драйвер должен очистить целевой объект отрисовки контекста до цвета, указанного элементом dwFillColor.
D3DCLEAR_STENCIL Драйвер должен очистить буфер трафарета контекста до значения, указанного членом dwFillStencil.
D3DCLEAR_ZBUFFER Драйвер должен очистить буфер глубины контекста до глубины, заданной элементом dwFillDepth.
D3DCLEAR_COMPUTERECTS Только DirectX 8.0 и более поздних версий.
Если этот флаг установлен, указанные прямоугольники должны быть обрезан по отношению к текущему окну просмотра. Кроме того, при указании D3DCLEAR_COMPUTERECTS число прямоугольников для очистки может быть равно нулю (число прямоугольников для очистки можно найти в объединении wStateCount/wPrimtiveCount структуры D3DHAL_DP2COMMAND для очистки). В этом случае должна быть очищена вся область просмотра.

dwFillColor

Указывает цвет, в котором драйвер должен очистить целевой объект отрисовки контекста.

dvFillDepth

Указывает значение, которое драйвер должен использовать для задания глубины в буфере глубины контекста. Этот элемент может быть значением в интервале от 0,0 до 1,0. Драйвер должен преобразовать это значение в целое число с помощью члена dwZBitMask структуры DDPIXELFORMAT буфера глубины.

dwFillStencil

Указывает значение, в которое драйвер должен очистить буфер трафарета контекста. Этот член может быть целым числом в интервале от 0 до 2ⁿ-1, где n — это число битов в буфере набора элементов.

Rects[1]

Задает прямоугольные области буфера, которые должен очистить драйвер. Прямоугольники указываются в координатах экрана. Этот элемент структуры содержит первую область прямоугольника, которая должна быть вырезана. Член wStateCountD3DHAL_DP2COMMAND содержит общее количество прямоугольных областей, которые необходимо вырезать. Другие структуры RECT (wStateCount-1) должны соответствовать D3DHAL_DP2CLEAR структуре без заполнения.

Комментарии

Эта структура используется с маркером команды D3DDP2OP_CLEAR для замены устаревших обратных вызовов D3dClear и D3dClear2 .

Важно отметить, что если число прямоугольников равно нулю, структура данных D3DHAL_DP2CLEAR по-прежнему включает пространство для одного RECT. Таким образом, при переходе к следующей инструкции DP2 следует включить размер этого единственного RECT. Однако содержимое RECT в этом случае не определено, и драйвер не должен пытаться считывать их.

Драйверы отображения должны преобразовывать значения входных цветов для классов ARGB и YUV цветовых форматов. Для операций очистки значения входного цвета указываются в элементе dwFillColor . Дополнительные сведения см. в разделе Обработка значений цвета для форматов пикселей.

Требования

Требование Значение
Заголовок d3dhal.h (включая D3dhal.h)

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

D3DDP2OP_CLEAR

D3DHAL_DP2COMMAND

DDPIXELFORMAT