Higher-Order Примитивы (Direct3D 9)
Direct3D 9 поддерживает точки, линии, треугольники и примитивы сетки. Они были расширены для поддержки интерполяции более высокого порядка за пределами линейной. Хотя треугольники и линии имеют пространственное значение, до сих пор они были отрисованы с помощью линейной интерполяции. В Direct3D 9 Direct3D поддерживает отрисовку этих примитивных типов с использованием более высокого порядка до квинтического интерполяции. Кроме того, теперь поддерживается новый примитив четырехкратный тип. Этот новый тип также можно отрисовывать с интерполяцией более высокого порядка. Эта функция в основном зависит от требований к анимации и отрисовке символов. Его также можно использовать для других поверхностей, таких как ландшафт или вода.
Примитивы более высокого порядка поддерживают интерполяцию более высокого порядка при передаче в API в виде списков, полос, вентиляторов или индексированных сеток. Это достигается с помощью дополнительных сведений, закодированных в самих вершинах. Например, обычные векторы можно использовать для определения тангентных плоскостей в вершинах, чтобы включить интерполяцию кубических. Большинство реализаций поддерживают интерполяцию более высокого порядка по тесселяции в планарные треугольники. Шаг тесселяции применяется логически перед этапом шейдера вершин. Так как API вершинного шейдера не накладывает семантику для входных данных, предоставляется специальный механизм для идентификации компонента потока вершин, представляющего позицию, и при необходимости обычный вектор. Все остальные компоненты интерполируются соответствующим образом.
В этом разделе приводятся примитивы более высокого порядка и рассматриваются способы их использования в приложениях. Сведения делятся на следующие разделы.
Улучшение качества с помощью улучшения разрешения
Текущие примитивы не идеально подходят для представления гладких поверхностей. Методы интерполяции более высокого порядка, такие как кубические полиномиалы, позволяют более точным вычислениям при отрисовке кривых фигур. Это обеспечивает повышение реалистичности путем уменьшения или устранения фасетных артефактов, видимых на краях силуэта или на зрительном освещении поверхности. Кроме того, когда тесселлирование происходит на микросхеме, тесселлированные треугольники не влияют на пропускную способность шины. Во многих случаях небольшое количество тесселяции может обеспечить улучшение качества изображения с минимальным воздействием на производительность.
Direct3D 9 предоставляет простой способ применения улучшения разрешения к содержимому, созданному существующими многоугольниками и конвейерами искусства. Приложению нужен только требуемый уровень тесселяции и передача данных с помощью стандартного синтаксиса треугольника, включающего обычные векторы.
Прямое сопоставление из средств Spline-Based
Многие текущие средства разработки поддерживают примитивы более высокого порядка, чтобы обеспечить более мощные операции моделирования, чем обычно предоставляются для планарных сетк треугольников. При эффективном использовании, чтобы количество создаваемых исправлений было разумным, такие средства могут создавать содержимое, которое можно отобразить непосредственно API. Для удовлетворения этого требования добавлена новая точка входа, которая интерпретирует входящий поток данных вершин в виде массива 2D контрольных точек и тесселлирует его в нужное разрешение.
Связанные разделы