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

Извлекает состояние клипа.

Синтаксис

HRESULT GetClipStatus(
  [out] D3DCLIPSTATUS9 *pClipStatus
);

Параметры

[out] pClipStatus

Тип: D3DCLIPSTATUS9*

Указатель на структуру D3DCLIPSTATUS9 , описывающую состояние клипа.

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

Тип: HRESULT

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

D3DERR_INVALIDCALL возвращается, если аргумент недопустим.

Комментарии

Если во время обработки вершин включена обрезка ( iDirect3DDevice9::P rocessVertices, IDirect3Device9::D rawPrimitive или другими функциями рисования), Direct3D вычисляет код клипа для каждой вершины. Код клипа представляет собой сочетание битов D3DCS_*. Если вершина находится за пределами определенной плоскости обрезки, соответствующий бит задается в коде обрезки. Direct3D поддерживает состояние клипа с помощью D3DCLIPSTATUS9, которая содержит элементы ClipUnion и ClipIntersection. ClipUnion — побитовое "ИЛИ" всех кодов клипа вершины, а ClipIntersection — побитовое "AND" всех кодов клипа вершины. Начальные значения равны нулю для ClipUnion и 0xFFFFFFFF для ClipIntersection. Если D3DRS_CLIPPING имеет значение FALSE, ClipUnion и ClipIntersection имеют значение 0. Direct3D обновляет состояние клипа во время вызовов рисования. Чтобы вычислить состояние клипа для определенного объекта, задайте для ClipUnion и ClipIntersection начальное значение и продолжите рисование.

Состояние клипа не обновляется iDirect3Device9::D rawRectPatch и IDirect3DDevice9::D rawTriPatch , так как для них отсутствует программная эмуляция.

Состояние клипа используется во время программной обработки вершин. Таким образом, этот метод не поддерживается на чистых или нечистых аппаратных устройствах обработки. Дополнительные сведения о чистых устройствах см. в разделе D3DCREATE.

Требования

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

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

IDirect3DDevice9

IDirect3DDevice9::SetClipStatus