Тесселяция (компьютерная графика) - Tessellation (computer graphics)
В компьютерной графике , тесселяция относится к полувремени наборов данных многоугольников (иногда называемой вершиной множеств ) , представляя объекты в сцене в соответствующие структуры для рендеринга . В частности, для рендеринга в реальном времени данные разбиваются на треугольники , например, в OpenGL 4.0 и Direct3D 11 .
В графическом рендеринге
Ключевым преимуществом тесселяции для графики в реальном времени является то, что она позволяет динамически добавлять и вычитать детали из трехмерной многоугольной сетки и ее краев силуэта на основе параметров управления (часто расстояния до камеры). В ранее передовых методах реального времени, таких как отображение параллакса и рельефное отображение , детали поверхности можно было моделировать на уровне пикселей, но детализация краев силуэта в основном ограничивалась качеством исходного набора данных.
В конвейере Direct3D 11 (часть DirectX 11) графическим примитивом является патч . Тесселятор формирует треугольник на основе тесселяции пластыря в соответствии с параметрами тесселяции , такими как TessFactor , который контролирует степень мелкости сетки . Тесселяция вместе с шейдерами, такими как шейдер Фонга , позволяет создавать более гладкие поверхности, чем те, которые были бы созданы исходной сеткой. Разгрузив процесс тесселяции на аппаратном обеспечении графического процессора , сглаживание может выполняться в реальном времени. Тесселяцию также можно использовать для реализации поверхностей подразделения , масштабирования уровня детализации и отображения точного смещения . OpenGL 4.0 использует аналогичный конвейер, в котором тесселяция в треугольники управляется шейдером управления тесселяцией и набором из четырех параметров тесселяции.
В автоматизированном проектировании
В автоматизированном проектировании построенная конструкция представлена топологической моделью представления границ , где аналитические трехмерные поверхности и кривые, ограниченные гранями, ребрами и вершинами, составляют непрерывную границу трехмерного тела. Произвольные трехмерные тела часто слишком сложны для непосредственного анализа. Таким образом, они аппроксимируются (мозаичны) сеткой из небольших, легко анализируемых частей трехмерного объема - обычно либо неправильных тетраэдров , либо неправильных шестигранников . Сетка используется для анализа методом конечных элементов .
Сетка поверхности обычно создается для отдельных граней и ребер (аппроксимируется полилиниями ), так что исходные предельные вершины включаются в сетку. Чтобы аппроксимация исходной поверхности соответствовала потребностям дальнейшей обработки, для генератора поверхностной сетки обычно определяются три основных параметра:
- Максимально допустимое расстояние между многоугольником плоской аппроксимации и поверхностью (известное как «провисание»). Этот параметр гарантирует, что сетка достаточно похожа на исходную аналитическую поверхность (или полилиния похожа на исходную кривую).
- Максимально допустимый размер аппроксимирующего многоугольника (для триангуляции это максимально допустимая длина сторон треугольника). Этот параметр обеспечивает достаточную детализацию для дальнейшего анализа.
- Максимально допустимый угол между двумя соседними многоугольниками аппроксимации (на одной грани). Этот параметр гарантирует, что даже очень маленькие неровности или впадины, которые могут оказать существенное влияние на анализ, не исчезнут в сетке.
Алгоритм создания сетки обычно управляется тремя вышеупомянутыми и другими параметрами. Некоторые типы компьютерного анализа сконструированного проекта требуют адаптивного уточнения сетки , то есть более тонкой сетки (с использованием более строгих параметров) в областях, где для анализа требуется более подробная информация.
Смотрите также
- ATI TruForm - бренд, выпускающий аппаратную тесселяцию с 2001 года.
- TeraScale: модуль аппаратной тесселяции - более новый модуль с июня 2007 г.
- Геометрический процессор GCN - последняя версия с января 2011 г.