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

Задает коэффициенты определяемой пользователем плоскости обрезки для устройства.

Синтаксис

HRESULT SetClipPlane(
  [in] DWORD       Index,
  [in] const float *pPlane
);

Параметры

[in] Index

Тип: DWORD

Индекс плоскости обрезки, для которого необходимо задать коэффициенты уравнения плоскости.

[in] pPlane

Тип: const float*

Указатель на адрес массива значений из четырех элементов, представляющих устанавливаемые коэффициенты плоскости обрезки в виде уравнения общей плоскости. См. заметки.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение D3DERR_INVALIDCALL. Эта ошибка указывает, что значение в индексе превышает максимальный индекс плоскости отсечения, поддерживаемый устройством, или что массив в pPlane недостаточно велик, чтобы содержать четыре значения с плавающей запятой.

Комментарии

Коэффициенты, устанавливаемые этим методом, принимают форму уравнения общей плоскости. Если значения в массиве в pPlane помечены как A, B, C и D в том порядке, в который они отображаются в массиве, они помещаются в уравнение общей плоскости, чтобы Ax + By + Cz + Dw = 0. Точка с однородными координатами (x, y, z, w) видна в полупространстве плоскости, если Ax + By + Cz + Dw >= 0. Точки, существующие за плоскостью обрезки, обрезаются со сцены.

При использовании конвейера фиксированной функции уравнения плоскости считаются в мировом пространстве. При использовании программируемого конвейера предполагается, что уравнения плоскости находятся в отсеченном пространстве (то же пространство, что и выходные вершины).

Этот метод не позволяет задать уравнение плоскости обрезки. Чтобы включить плоскость обрезки, задайте соответствующий бит в значении DWORD, применяемом к состоянию D3DRS_CLIPPLANEENABLE отрисовки.

Требования

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

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

IDirect3DDevice9

IDirect3DDevice9::GetClipPlane