glClipPlane - вказує площину відносно якої відсікається геометрія.

C-специфікація

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

 

Параметри

plane вказує що за площина відрізання отримує розміщення. Приймаються символічні константи у формі GL_CLIP_PLANEi, де i являється цілим числом між 0 і GL_MAX_CLIP_PLANES-1.

equation вказує адресу масиву масиву який містить чотири дійсні числа подвійної точності. Дані значення інтерпретуються у якості рівняння площини.

Опис

Геометрія завжди обрізається відносно меж шестиплощнного зрізаного конуса у координатах x, y і z. Функція glCLipPlane дозволяє визначення додаткових площин, необов'язково перпендикулярних до осей x, y і z, відносно яких обрізається уся геометрія. Для визначення максимальної кількості додаткових площин обрізання, викликайте функцію glGetIntegerv з аргументом GL_MAX_CLIP_PLANES. Усі реалізації підтримують принаймні шість таких площин. Через те що кінцевий обрізаний регіон являється перерізом визначених половинних просторів, він завжди являється випуклим.

Функція glClipPlane визначає півпростір використовуючи чотирикомпонентне рівняння площини. Під час виклику функції glClipPlane, параметр equation перетворюється за допомогою оберненої матриці огляду моделі (modelview) і зберігається у кінцевих координатах огляду. Слідуючі зміни до матриці огляду моделі не змінюють компоненти збереженого рівняння площини. Якщо добуток координат огляду вертекса разом з збереженим компонентами рівняння площини являється позитивним або нульовим, вертекс міститься всередині відносно до цієї площини відсікання. В іншому випадку, він знаходиться ззовні.

Для увімкнення чи вимкнення площин відсікання, викликайте glEnable і glDisable з аргументом GL_CLIP_PLANEi, де i являється номером площини.

Нотатки

Повинно завжди справджуватися рівняння GL_CLIP_PLANEi = GL_CLIP_PLANE0 + i.

Помилки

GL_INVALID_ENUM генерується якщо plane не містить допумтипомого значення.

GL_INVALID_OPERATION генерується якщо функція glClipPlane викликається між відповідними викликами функцій glBegin і glEnd.

Пов'язані параметри

glGetClipPlane

glIsEnabled з аргументом GL_CLIP_PLANEi.

Перегляньте також

glEnable

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glClipPlane.xml