stringtranslate.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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