Поделиться через


Функция glClipPlane

Функция glClipPlane задает плоскость, в которой обрезается вся геометрия.

Синтаксис

void WINAPI glClipPlane(
         GLenum   plane,
   const GLdouble *equation
);

Параметры

plane

Плоскость обрезки, которая размещается. Принимаются символические имена формы GL_CLIP_PLANEi, где i — целое число от 0 до GL_MAX_CLIP_PLANES –1.

Уравнение

Адрес массива из четырех значений двойной точности с плавающей запятой. Эти значения интерпретируются как уравнение плоскости.

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

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
плоскость не является допустимым значением.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Геометрия всегда обрезается к границам шестиуровневой границы в x, y и z. Функция glClipPlane позволяет задавать дополнительные плоскости, не обязательно перпендикулярные оси X, оси Y или Z, относительно которых обрезается вся геометрия. Можно указать до GL_MAX_CLIP_PLANES плоскостей, где GL_MAX_CLIP_PLANES не менее шести во всех реализациях. Так как результирующая область обрезки является пересечением определенных полупространств, она всегда выпуклая.

Функция glClipPlane задает половину пространства с помощью четырехкомпонентного уравнения плоскости. При вызове glClipPlaneуравнение преобразуется с помощью обратной матрицы представления модели и сохраняется в результирующие координаты глаз. Последующие изменения матрицы представления модели не оказывают никакого влияния на хранимые компоненты плоскостного уравнения. Если точечное произведение координат глаз вершины с сохраненными компонентами уравнения плоскости является положительным или нулевым, вершина находится по отношению к этой плоскости обрезки. В противном случае это не так.

Используйте функции glEnable и glDisable , чтобы включить и отключить отсеченные плоскости. Вызов обрезки плоскостей с аргументом GL_CLIP_PLANEi, где i — номер плоскости.

По умолчанию все плоскости обрезки определяются как (0,0,0,0) в координатах глаз и отключены.

Это всегда так, что GL_CLIP_PLANEi = GL_CLIP_PLANE0 + i.

Следующие функции извлекают сведения, связанные с glClipPlane:

glGetClipPlane

glIsEnabled с аргументом GL_CLIP_PLANE i

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

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

glBegin

glDisable

GlEnable

glEnd

glGetClipPlane

glIsEnabled