В чем разница между отображением смещения и отображением высоты?


15

В чем разница между отображением смещения и отображением высоты и какова связь с адаптивной тесселяцией?


Итак, скажем, когда я хочу использовать отображение высоты для небольшого объекта, то есть сферы, какие методы я использую для устранения трещин? Сглаживание? Это более продуктивно, чем перемещение и адаптивная тесселяция?
Цзиньси

Ответы:


10

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

Чтобы объяснить больше:

Отображение смещения: это метод, который направлен на то, чтобы визуализировать неровности как истинную геометрию в очень тонкой сетке. В отличие от карт рельефа, параллакса и рельефа, которые пытаются «подделать» неровности с помощью карт нормалей, отображение смещения фактически смещает поверхность, создавая треугольники между текселями. ,

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

Это может быть реализовано на процессоре или графическом процессоре.

Один из распространенных подходов ЦП заключается в считывании значений высоты или смещения с карты высоты / смещения (текстуры), где каждый тексель напрямую отображается на одну вершину. Где каждый тексель кодирует значение высоты / смещения. Затем это применяется непосредственно к геометрии путем смещения каждой вершины с использованием искомого значения в уникальном направлении.

Выбор направления может быть в направлении вверх (обычно в случае рельефа), что приводит к изменению значения Y вершины, или в направлении нормали грани, обычно используемой на объектах, отличных от рельефа.

Альтернативой графическому процессору является использование функции выборки текстуры вершины (представленной в Shader Model 3.0) для изменения сетки ландшафта путем доступа к карте смещения / высоты. Высота, полученная из текстуры, используется программой затенения вершины для изменения местоположения вершины. ,

Другие способы использования текстуры позволяют быстрее манипулировать данными для моделирования волн и других анимаций, применяемых к сетке.

Что касается адаптивной тесселяции:

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

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

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

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


Не забывайте последнюю часть вопроса "а какова связь с адаптивной тесселяцией?"
MichaelHouse

@ Byte56 спасибо, что сообщили мне, я обновил ответ.
concept3d

12

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

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


Это объективно правильный ответ. Тонкое различие станет гораздо более важным, поскольку начинающие находят больше кода тесселяции для копирования и вставки. (Процедурное смещение вектора уже продемонстрировано nVidia)
MickLH

3

По сути, это одно и то же.

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

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

Техника напрямую не связана с адаптивной тесселяцией, которая сама по себе управляет разбивкой математического описания сетки (такой как сфера) на конкретную коллекцию треугольников, которая будет использоваться для визуализации этой сетки. «Адаптивный» бит означает, что детали тесселяции будут меняться в зависимости от некоторых входных критериев, таких как расстояние просмотра.

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

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


2

Это одна и та же концепция.

РЕДАКТИРОВАТЬ: Смещение может состоять из высоты в более чем одном измерении!

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.