Метод 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 |