Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Простой конвейер тесселяции, визуализирующий гладкую сферу из грубого кубического набора вершин с использованием метода подразделения.

В компьютерной графике , тесселяция используется для управления наборами данных многоугольников (иногда называемых множества вершин ) представления объектов в сцене , и разделить их в соответствующие структуры для оказания . В частности, для рендеринга в реальном времени данные разбиваются на треугольники , например, в OpenGL 4.0 и Direct3D 11 . [1] [2]

В рендеринге графики [ править ]

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

В конвейере Direct3D 11 (часть DirectX 11) графическим примитивом является патч . [4] тесселятор генерирует треугольник на основе тесселяции пластыря в соответствии с параметрами тесселяции , такими как TessFactor , который контролирует степень мелкости сетки . Тесселяция вместе с шейдерами, такими как шейдер Фонга , позволяет создавать более гладкие поверхности, чем те, которые были бы созданы исходной сеткой. [4] Путем выгрузки процесса тесселяции на графический процессор.аппаратно, сглаживание может выполняться в реальном времени. Тесселяцию также можно использовать для реализации поверхностей подразделения , масштабирования уровня детализации и отображения точного смещения . [5] OpenGL 4.0 использует аналогичный конвейер, где тесселяция в треугольники управляется шейдером управления тесселяцией и набором из четырех параметров тесселяции. [6]

В компьютерном дизайне [ править ]

В автоматизированном проектировании построенный проект представлен топологической моделью представления границ , где аналитические трехмерные поверхности и кривые, ограниченные гранями, ребрами и вершинами, составляют непрерывную границу трехмерного тела. Произвольные трехмерные тела часто слишком сложны для непосредственного анализа. Таким образом, они аппроксимируются (мозаичны) сеткой из небольших, легко анализируемых частей трехмерного объема - обычно либо неправильных тетраэдров , либо неправильных шестигранников . Сетка используется для анализа методом конечных элементов . [ необходима цитата ]

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

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

Алгоритм создания сетки обычно управляется тремя вышеупомянутыми и другими параметрами. Некоторые типы компьютерного анализа сконструированного проекта требуют адаптивного уточнения сетки , то есть более тонкой сетки (с использованием более строгих параметров) в областях, где для анализа требуется более подробная информация. [1] [2]

См. Также [ править ]

  • ATI TruForm - бренд, выпускающий аппаратную тесселяцию с 2001 года.
  • TeraScale: модуль аппаратной тесселяции - более новый модуль с июня 2007 г.
  • Геометрический процессор GCN - последняя версия с января 2011 г.

См. Также [ править ]

  • Шейдер тесселяции
  • Прогрессивная сетка
  • Генерация сетки

Внешние ссылки [ править ]

  • GPUOpen : образец OpenGL, демонстрирующий тесселяцию ландшафта на графическом процессоре.

Ссылки [ править ]

  1. ^ a b Графическая система OpenGL®: спецификация (версия 4.0 (основной профиль) - 11 марта 2010 г.)
  2. ^ a b MSDN: Обзор тесселяции
  3. Рост, Рэнди (30 июля 2009 г.). Язык затенения OpenGL . Эддисон-Уэсли. п. 345. ISBN 978-0321637635.
  4. ^ а б Аби-Чахла, Феди. «Тесселяция» . Оборудование Тома . Проверено 27 апреля 2013 года .
  5. Тарик, Сара. «Тесселяция D3D11» (PDF) . Nvidia . Проверено 27 апреля 2013 года .
  6. ^ «Тесселяция» . OpenGL . Проверено 27 апреля 2013 года .