Тесселяция (компьютерная графика)

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

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

Содержание
  • 1 При визуализации графики
  • 2 При компьютерном проектировании
  • 3 См. Также
  • 4 См. Также
  • 5 Внешние ссылки
  • 6 Ссылки
При визуализации графики

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

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

В системе автоматизированного проектирования

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

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

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

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

См. Также
См. Также
Внешние ссылки
Ссылки
Последняя правка сделана 2021-06-10 02:33:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте