stringtranslate.com

Вырезка (компьютерная графика)

Отсечение в контексте компьютерной графики — это метод выборочного включения или отключения операций рендеринга в определенной интересующей области . Математически отсечение можно описать, используя терминологию конструктивной геометрии . Алгоритм рендеринга рисует пиксели только на пересечении области клипа и модели сцены. Линии и поверхности за пределами объема обзора (также известные как усеченная пирамида) удаляются. [1]

Области обрезки обычно указываются для повышения производительности рендеринга. Хорошо подобранный клип [ необходимы пояснения ] позволяет рендереру сэкономить время и силы, пропуская вычисления, связанные с пикселями, которые пользователь не видит. Говорят, что пиксели, которые будут нарисованы, находятся внутри области клипа. Пиксели, которые не будут отрисованы, находятся за пределами области обрезки. Говоря более неформально, пиксели, которые не будут отрисованы, называются «обрезанными».

В 2D графике

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

В качестве примера приложения рассмотрим программу редактирования изображений. Пользовательское приложение может отображать изображение в окне просмотра. Когда пользователь масштабирует и прокручивает изображение, чтобы просмотреть меньшую часть изображения, приложение может установить границу клипа, чтобы пиксели за пределами области просмотра не отображались. Кроме того, виджеты графического пользовательского интерфейса , наложения и другие окна или рамки могут закрывать некоторые пиксели исходного изображения. В этом смысле область клипа представляет собой совокупность определяемого приложением «пользовательского клипа» и «клипа устройства», реализуемого программной и аппаратной реализацией системы. [2] Прикладное программное обеспечение может использовать эту информацию о клипе для экономии времени вычислений, энергии и памяти, избегая работы, связанной с невидимыми пикселями.

В 3D графике

Усеченная пирамида вида с плоскостями ближнего и дальнего клипа. Рендерится только затененный объем.

В трехмерной графике терминология обрезки может использоваться для описания многих связанных функций. Обычно «отсечение» относится к операциям на плоскости, которые работают с прямоугольными формами, а «отсечение» относится к более общим методам выборочной обработки элементов модели сцены. Эта терминология не является жесткой, и ее точное использование варьируется в зависимости от источника.

Элементы модели сцены включают геометрические примитивы: точки или вершины; сегменты линий или края; многоугольники или грани; и более абстрактные объекты модели, такие как кривые, сплайны, поверхности и даже текст. В сложных моделях сцен отдельные элементы могут быть выборочно отключены (обрезаны) по причинам, включая видимость в области просмотра ( отсечение по пирамидальной пирамиде ); ориентация ( отсечение задней поверхности ), затемнение другими элементами сцены или модели ( отсечение окклюзии , отсечение по глубине или «z»). Существуют сложные алгоритмы для эффективного обнаружения и выполнения такого отсечения. Многие оптимизированные методы обрезки полагаются на специальную логику аппаратного ускорения, обеспечиваемую графическим процессором (GPU).

Понятие отсечения можно расширить до более высокой размерности, используя методы абстрактной алгебраической геометрии .

Рядом с обрезкой

Помимо проекции вершин и 2D-отсечения, для правильной растеризации 3D-примитивов требуется близкое отсечение; это связано с тем, что вершины могли быть спроецированы за глазом. Близкое отсечение гарантирует, что все используемые вершины имеют действительные 2D-координаты. Вместе с дальним отсечением это также помогает предотвратить переполнение значений буфера глубины. Некоторые ранние аппаратные средства наложения текстур (с использованием прямого наложения текстур ) в видеоиграх страдали от сложностей, связанных с отсечением вблизи и UV-координатами .

Отсечение окклюзии (Z-отсечение или отсечение по глубине)

В 3D-компьютерной графике «Z» часто относится к оси глубины в системе координат с центром в начале окна просмотра: «Z» используется взаимозаменяемо с «глубиной» и концептуально соответствует расстоянию «до виртуального экрана». Таким образом, в этой системе координат «X» и «Y» относятся к обычной декартовой системе координат , расположенной на экране или в окне просмотра пользователя . Это окно просмотра определяется геометрией усеченной пирамиды обзора и параметризует поле обзора .

Z-отсечение или отсечение глубины относится к методам, которые выборочно визуализируют определенные объекты сцены в зависимости от их глубины относительно экрана. Большинство графических инструментов позволяют программисту указывать «ближнюю» и «дальнюю» глубину отсечения, при этом отображаются только части объектов между этими двумя плоскостями. Творческий программист приложений может использовать этот метод для визуализации внутренней части трехмерного объекта в сцене. Например, приложение для медицинской визуализации может использовать этот метод для визуализации органов внутри человеческого тела. Программист видеоигр может использовать информацию обрезания для ускорения игровой логики. [3] Например, высокая стена или здание, закрывающее другие игровые объекты, может сэкономить время графического процессора, которое в противном случае было бы потрачено на преобразование и текстурирование элементов в задних областях сцены; и тесно интегрированное программное обеспечение может использовать эту же информацию для экономии процессорного времени за счет оптимизации игровой логики для объектов, которые не видит игрок. [3]

Алгоритмы

Смотрите также

дальнейшее чтение

Рекомендации

  1. ^ Бертолин, Гэри; Вибе, Эрик (2002). Основы графической коммуникации (3-е изд.). МакГроу-Хилл. п. Г-3. ISBN 0-07-232209-8. Проверено 4 января 2015 г.
  2. ^ ab "java.awt.Graphics.clipRect". Оракул. 2014.
  3. ^ abc Секулич, Дин (2004). «Эффективное устранение окклюзии». Драгоценные камни графического процессора. Пирсон. Архивировано из оригинала 5 июня 2013 г. Проверено 2 января 2015 г.
  4. ^ Пол Марц (2001). «Отсечение, отбор и проверка видимости». OpenGL.org . Проверено 2 января 2015 г.