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 Shading Language . Addison-Wesley. стр. 345. ISBN 978-0321637635.
  4. ^ ab Abi-Chahla, Fedy (16 сентября 2008 г.). "Тесселяция". Tom's Hardware . Получено 27 апреля 2013 г.
  5. ^ Тарик, Сара. "D3D11 Tessellation" (PDF) . Nvidia . Получено 27 апреля 2013 г.
  6. ^ "Тесселяция". OpenGL . Получено 27 апреля 2013 г.