Отображение смещения - Displacement mapping

Декартов транспорт
Отображение смещения в сетке
Полярный транспорт
Отображение смещения с эффектами фильтра SVG

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

В течение многих лет отображение смещения было особенностью высокопроизводительных систем рендеринга, таких как PhotoRealistic RenderMan, а в реальном времени API, подобно OpenGL и DirectX, только начинали использовать эту функцию. Одна из причин этого заключается в том, что исходная реализация отображения смещения требовала адаптивного мозаика поверхности, чтобы получить достаточно микрополигоны размер которого соответствовал размеру пикселя на экране.[нужна цитата ]

Значение термина в разных контекстах

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

Рендереры, использующие РЕЙС алгоритм, или аналогичные подходы, основанные на микрополигоны, позволили отображать смещения на произвольно высоких частотах, так как они стали доступны почти 20 лет назад.

Первым коммерчески доступным средством визуализации, реализовавшим подход к отображению смещения микрополигонов через REYES, был Pixar с PhotoRealistic RenderMan. Рендереры микрополигонов обычно сами мозаизируют геометрию со степенью детализации, подходящей для визуализируемого изображения. То есть: приложение моделирования доставляет высокоуровневые примитивы в средство визуализации. Примеры включают истину NURBS - или же подразделения поверхностей. Затем модуль рендеринга тесселяет эту геометрию в микрополигоны во время рендеринга, используя ограничения на основе вида, полученные из визуализируемого изображения.

Другие средства визуализации, которым требуется, чтобы приложение моделирования доставляло объекты, предварительно разбитые на тесселирование в произвольные многоугольники или даже треугольники, определили термин отображение смещения как перемещение вершин этих многоугольников. Часто направление смещения также ограничивается нормалью к поверхности в вершине. Хотя эти многоугольники концептуально похожи, они обычно намного больше микрополигонов. Таким образом, качество, достигаемое с помощью этого подхода, ограничивается плотностью тесселяции геометрии задолго до того, как средство визуализации получит к ней доступ.

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

Смещение субпикселей обычно относится к более тонкой ретесселяции геометрии, которая уже была мозаикой в ​​многоугольники. Эта повторная мозаика приводит к образованию микрополигонов или часто микротреугольников. Затем их вершины перемещаются вдоль своих нормалей для достижения отображения смещения.

Истинные рендеры микрополигонов всегда могли делать то, что субпиксельное смещение достигалось совсем недавно, но с более высоким качеством и в произвольных направлениях смещения.

Недавние разработки, кажется, указывают на то, что некоторые из рендереров, использующих субпиксельное смещение, также двигаются в сторону поддержки геометрии более высокого уровня. Поскольку производители этих средств визуализации, вероятно, будут продолжать использовать термин субпиксельное смещение, это, вероятно, приведет к большему запутыванию того, что на самом деле означает отображение смещения, в 3D компьютерная графика.

Что касается проприетарного Язык шейдеров высокого уровня отображение смещения можно интерпретировать как своего рода "отображение текстуры вершины", где значения карта текстуры не изменяйте цвета пикселей (что гораздо чаще), а вместо этого меняйте положение вершин. В отличие от карт неровностей, нормалей и параллакса, все из которых, можно сказать, «имитируют» поведение отображения смещения, таким образом, действительно грубый поверхность может быть изготовлена ​​из текстуры. Его следует использовать вместе с адаптивным мозаика методы (увеличивающие количество визуализированных полигонов в соответствии с текущими настройками просмотра) для создания высокодетализированных сеток.[нужна цитата ]

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

дальнейшее чтение