Рельєфне текстурування

метод у комп’ютерній графіці

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

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

Bump mapping ред.

Bump mapping[1] — простий спосіб створення ефекту рельєфної поверхні з більшою деталізацією, ніж дозволяє полігональна поверхня. Ефект досягається, головним чином, шляхом освітлення поверхні джерелом світла і чорно-білою (одноканальною) картою висот, шляхом віртуального зсуву пікселя (як у методі Displace mapping) так, якби там був вертекс (але без фізичного й візуального зсуву), внаслідок чого, таким же чином змінюється орієнтація нормалей, які використовуються для розрахунку освітленості пікселя (Затемнення по Фонгу), в результаті отримуємо ділянки, які освітлені й затемнені по-різному. Як правило, Bump mapping дозволяє створити не надто складні горбисті поверхні, пласкі виступи або западини, на цьому його використання завершується. Для більш детальних ефектів згодом був придуманий Normal mapping.[2]

Normal mapping ред.

 
Результат роботи технології

Normal mapping — техніка, що дозволяє змінювати нормаль пікселя, що відображається, ґрунтуючись на кольоровій карті нормалей, в якій ці відхилення зберігаються у вигляді текстеля, кольорові складові якого [r,g,b] інтерпретуються в осі вектора [x, y, z], на основі якого обчислюється нормаль, що використовується для розрахунку освітленості пікселя. Завдяки тому, що в карті нормалей використовуються 3 канали текстур, цей метод дає більшу точність, ніж Bump mapping, в якому використовується лише один канал і нормалі інтерпретуються, в залежності від довжини.

Карти нормалей зазвичай бувають двох типів: object-space — використовується для об'єктів, які не деформуються, наприклад, таких як стіни, двері, зброя тощо.[3]

tangent-space — використовується для можливості деформувати об'єкти, наприклад, персонажів.[3]

Для створення карт нормалей зазвичай використовується високополігональна і низькополігональна моделі, їх порівняння дає необхідні відхилення нормалей для останньої.[2]

Parallax mapping ред.

Докладніше: Parallax mapping

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

Parallax occlusion mapping ред.

Докладніше: Parallax occlusion mapping

Parallax occlusion mapping є удосконаленою і в той же час однією з найважчих для обчислення різновидів Parallax mapping. Фактично являє собою форму локального трасування променів у піксельному шейдері. Трасування променів використовується для визначення висот і обліку видимості текселей. Іншими словами, цей метод дозволяє створювати ще більшу глибину рельєфу при невеликій кількості полігонів і використанні важкої геометрії. Недолік метода — невисока деталізація силуетів і граней.

Реалізувати Parallax occlusion mapping можливо у рамках функціоналу API DirectX Shader Model 3, однак, для отримання оптимальної продуктивності, відеокарта повинна забезпечувати належний рівень швидкості виконання розгалужень у піксельному шейдері. На даний момент Parallax occlusion mapping використовується у деяких комп'ютерних іграх, наприклад, S.T.A.L.K.E.R., Crysis, Metro 2033 тощо. Також ця технологія використовується у популярному бенчмарку 3DMark Vantage.

Displacement mapping ред.

 

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

Див. також ред.

Примітки ред.

  1. Архівована копія (PDF). Архів оригіналу (PDF) за 22 жовтня 2016. Процитовано 14 квітня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  2. а б 3D Modeling Fundamentals — Part 2. Архів оригіналу за 12 грудня 2013. Процитовано 31 березня 2015.
  3. а б Normal Map — Tech Artists Wiki. Архів оригіналу за 13 грудня 2013. Процитовано 31 березня 2015.

Література ред.