Interested Article - Parallax mapping

Скриншот из демонстрационного бенчмарка графического движка Irrlicht Engine , на котором представлена реализация технологии «Parallax mapping» для текстурирования стен, пола и потолка комнаты. Тени между кирпичами изменяются динамически в зависимости от положения источника света.

Parallax mapping («параллактическое отображение», также известен как offset mapping , per-pixel displacement mapping или virtual displacement mapping ) — программная техника (методика) в трёхмерной компьютерной графике , усовершенствованный вариант техник bump mapping или normal mapping . Parallax mapping используется для процедурного создания трёхмерного описания текстурированной поверхности с использованием карт смещения (не путать с (англ.) ) вместо непосредственного генерирования новой геометрии. Методику «Parallax mapping» условно можно назвать « 2.5D », так как она позволяет добавлять трёхмерную сложность в текстуры, не создавая реальные трёхмерные графические структуры. Например, текстура каменной стены будет иметь визуальную объемность, хотя на самом деле геометрически она будет плоской. Parallax mapping был представлен Томомити Канэко ( англ. Tomomichi Kaneko ) в 2001 году . Parallax mapping полностью исполняется на графических процессорах видеокарты как пиксельный шейдер .

Описание

Parallax mapping осуществляется смещением текстурных координат так, чтобы поверхность казалась объёмной . Главное отличие parallax mapping от displacement mapping в том, что в нём все расчеты попиксельные, а не повершинные. Идея метода состоит в том, чтобы возвращать текстурные координаты той точки, где видовой вектор пересекает поверхность. Это требует просчета лучей ( рейтрейсинг ) для карты высот, но если она не имеет слишком сильно изменяющихся значений («гладкая» или «плавная»), то можно обойтись аппроксимацией без использования рейтрейсинга. Если же в parallax mapping используется рейтрейсинг, то такой вариант называется « Parallax occlusion mapping ».

Таким образом, parallax mapping хорош для поверхностей с плавно изменяющимися высотами, без просчёта пересечений и больших значений смещения. Подобный простой алгоритм отличается от normal mapping всего тремя инструкциями пиксельного шейдера: две математические инструкции и одна дополнительная выборка из текстуры. После того, как вычислена новая текстурная координата, она используется дальше для чтения других текстурных слоев: базовой текстуры, карты нормалей и т. п. Такой метод parallax mapping на современных графических процессорах почти так же эффективен, как обычное наложение текстур, а его результатом является более реалистичное отображение поверхности по сравнению с простым normal mapping.

См. также

Примечания

  1. Kaneko, T., et al, 2001. от 29 апреля 2015 на Wayback Machine . In Proceedings of ICAT 2001, pp. 205—208.
  2. Наталия Татарчук, 2005. от 16 апреля 2015 на Wayback Machine презентация на SIGGRAPH

Ссылки

  • Алексей Берилло aka SomeBody Else. . iXBT.com (15 февраля 2006). Дата обращения: 9 мая 2009. Архивировано из 14 февраля 2012 года.
  • Сравнение из графического движка Irrlicht Engine : против
  • — Детали алгоритма Parallax mapping, который использовался в игре F.E.A.R. для имитации пулевых отверстий в стенах.
Источник —

Same as Parallax mapping