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

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

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

В графическом рендеринге

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

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

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

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

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

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

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

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

Внешние ссылки

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