For faster navigation, this Iframe is preloading the Wikiwand page for Parallax mapping.

Parallax mapping

Материал из Википедии — свободной энциклопедии

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

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

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

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

Примечания

[править | править код]
  1. Kaneko, T., et al, 2001. Detailed Shape Representation with Parallax Mapping Архивная копия от 29 апреля 2015 на Wayback Machine. In Proceedings of ICAT 2001, pp. 205—208.
  2. Наталия Татарчук, 2005. Practical Dynamic Parallax Occlusion Mapping Архивная копия от 16 апреля 2015 на Wayback Machine презентация на SIGGRAPH
В статье есть список источников, но не хватает сносок. Без сносок сложно определить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставив сноски на источники, подтверждающие информацию. Сведения без сносок могут быть удалены. (4 июля 2020)
{{bottomLinkPreText}} {{bottomLinkText}}
Parallax mapping
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?