Вырезка (OpenGL)
Вырезка выполняется в два этапа:
- Просмотр обрезки томаПрирезка для приложений. Сразу после сборки примитивы обрезаются в координатах глаз по мере необходимости для любых обрезных плоскостей, определенных с помощью glClipPlane. (OpenGL требует поддержки по крайней мере шести таких плоскостей отсечения для конкретных приложений.)
- Примитивы преобразуются матрицей проекции в координаты клипа и обрезаются соответствующим объемом представления. Эта матрица может управляться функциями преобразования матриц (см. раздел Матричные преобразования), но обычно указывается с помощью glFrustum или glOrtho.
Точки, сегменты линий и многоугольников обрабатываются по-разному во время отсечения:
- Точки сохраняются в исходном состоянии (если они находятся в томе клипа) или отбрасываются (если они находятся за пределами тома клипа).
- Если части сегментов линий или многоугольников находятся за пределами обрезного тома, в точках клипа создаются новые вершины.
- Для многоугольников может потребоваться построить весь ребер между новыми вершинами, созданными в точках клипа.
- Для обрезанных сегментов линий и многоугольников всем новым вершинам назначается флаг края, цвет и текстура.