3D графика: нормальное отображение против Bump mapping - PullRequest
6 голосов
/ 19 сентября 2011

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

  • Но что же такое рельефное отображение? Это просто еще один термин для нормального отображения?
  • Как сравниваются визуальные результаты? Можно ли комбинировать обе техники?

Ответы [ 2 ]

8 голосов
/ 19 сентября 2011

Bump Mapping описывает общую технику для моделирования выпуклостей и морщин на поверхности объекта. Обычно это достигается путем манипулирования нормалями поверхности при выполнении расчетов освещения.

Нормальное отображение - это разновидность Bump Mapping, в которой нормали поверхности предоставляются через текстуру, а нормали встроены в каналы RGB изображения.

Другие методы, такие как Parallax Mapping, также являются методами Bump Mapping, поскольку они искажают нормали поверхности.

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

7 голосов
/ 19 сентября 2011

Bump mapping был первоначально предложен Джимом Блинном еще в 1978 году. Его система в основном работает, возмущая нормаль на поверхности, используя высоту этого текселя и высоту окружающих текселей.

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

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

Есть еще одна методика, которая дает «похожие» результаты.Это называется рельефное рельефное картирование.Этот метод работает с использованием многопроходного рендеринга.По сути, в итоге вы вычитаете карту высоты шкалы серого из последнего прохода, но смещаете ее на небольшую величину в зависимости от направления света.

Существуют и другие способы эмуляции топологии поверхности.

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

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

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

...