Карта зміщення (displacement mapping) — техніка рельєфного текстурування у тривимірній комп'ютерній графіці, що відрізняється від альтернативних бампмаппінга (), () та parallax mapping-а тим, що використовує карту висот для зміщення () реальних геометричних позицій точок (зазвичай, при цьому оновлюються і напрямки нормалей) відповідно до значення зсувів, які обчислюються для кожної точки поверхні. Цей метод урахування глибини деталей поверхні дозволяє правильно візуалізувати самоперекриття, самозатінення та отримати правильний силует об'єкта. З іншого боку, ця техніка рельєфного текстурування є найбільш ресурсовитратною, оскільки потребує значної деталізації геометрії і як наслідок значних об'ємів геометричних даних.

Протягом багатьох років, використання карт зміщень було притаманне, перш за все, системам високоякісного, реалістичного рендерингу, наприклад таким як PhotoRealistic RenderMan, в той час як при роботі з такими API-інтерфейсах тривимірної графіки, як OpenGL та DirectX, використання цієї техніки залишалось дуже обмеженим. Однією із обмежуючих причин є те, що реалізація карт зміщення вимагає адаптивної теселяції поверхні для того, щоб отримати достатню кількість , розмір яких відповідає розміру пікселя на екрані.

Значення терміна в різних контекстах Карта зміщення містить в собі термін відображення (mapping), яке відноситься до текстури (texture map), яка використовується для модуляції сили зміщення. Напрямок зміщення, як правило, це локальна нормаль поверхні. Сьогодні багато рендерів (візуалізований об'єкт) дозволяють програмовані шейдери, які можуть створювати високоякісні (багатовимірні) процедурні текстури та моделі в довільно високих частотах. Використання терміна відображення (mapping) стає спірним, оскільки більше не включає в себе текстури (texture map). Таким чином, на сьогодні більш широкий термін зміщення (displacement) часто використовується для позначення концепції, яка також включає в себе зміщення на основі текстури. Рендери використовують алгоритми , або схожі підходи на основі мікрополігонів, які дозволили карти зміщення при будь-яких високих частотах, тому вони стали доступні майже 20 років тому.

Перший комерційно доступний рендер для реалізації мікрополігонів підходом карт зміщення, завдяки REYES був Pixar's PhotoRealistic RenderMan. Рендерні мікрополігони, зазвичай, при зернистості мають форму геометричної мозаїки, що підходить для зображення, яке візуалізується. Тобто, додаток моделювання забезпечує примітиви високого рівня для рендора. Приклади включають в себе справжні NURBS- або поверхні розбиття.

Інші рендери, які вимагають застосування моделювання для доставки об'єктів, попередньо-мозаїчних, в довільні багатокутники, або навіть трикутники, визначили термін карта зміщення, як переміщення вершин цих багатокутників. Часто зміщення напрямку також обмежена нормаллю до поверхні в вершині. Хоча концептуально схожі, ці багатокутники, як правило, набагато більше, ніж мікрополігони. Якість, яка досягається при такому підході, обмежується щільністю геометричної мозаїки задовго до того, як рендер отримує доступ до нього.

Ця різниця між картами зміщення в рендерних мікрополігонів та картами зміщення в не-мозаїчних рендерних (макро) полігонів, часто може призвести до плутанини в розмовах між людьми, у яких вплив на кожну технологію, або реалізацію, обмежений. Тим більше, що, як і в останні роки, багато не-мікрополігоні рендери додали можливість робити карти зміщення якості, аналогічної якій мікрополігоний рендер здатний доставити природно. Для того, щоб розрізняти необроблену попередню теселяцію на основі зміщення, що рендери робили раніше, термін зміщення субпікселя (sub-pixel displacement ) було введено для опису цієї функції.

Зміщення субпікселя, зазвичай, відноситься до більш тонкого повторення теселяції геометрії, яка вже була укладена мозаїкою в полігони. Ця повторна теселяція призводить до мікрополігонів, або часто мікротрикутників. Потім їх вершини переміщаються уздовж їх нормалей для досягнення карт зміщення.

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

Останні події, здається, вказують, що деякі з рендерів, які використовують зміщення субпікселя, теж рухаються в напрямку підтримки вищого рівня геометрії. У міру того, як виробники цих рендерів, ймовірно, продовжують використовувати термін зміщення субпікселя, це, ймовірно, призведе до ще більшого заплутування того, що дійсно означає карта зміщення, в тривимірної комп'ютерної графіки.

У Microsoft, патентований високого рівня Shader Language, карти зміщення можна інтерпретувати, як свого роду «відображення вершин-текстури», де значення текстури не змінюють кольору пікселів (як це набагато частіше), але замість того, змінюють становище вершин. На відміну від бамп, нормального і паралакс відображення, всі з яких можна сказати «підроблена» поведінка карт зміщення, таким чином, по-справжньому груба поверхня може бути отримана з текстури. Це повинно використовуватися в поєднанні з адаптивними методами теселяції (що збільшує кількість полігонів, що надаються відповідно до поточних параметрів перегляду) для отримання високого ступеня деталізації сітки.

Див. також Текстура (тривимірна графіка) Рельєфне текстурування Normal mapping Parallax mapping

Карта висот

Література Blender Displacement Mapping Vray Displacement Mapping Relief Texture Mapping website

Real-Time Relief Mapping on Arbitrary Polygonal Surfaces paper Relief Mapping of Non-Height-Field Surface Details paper State of the art of displacement mapping on the gpu paper