Рельєфне текстурування — Вікіпедія
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Bump-map-demo-full.png/300px-Bump-map-demo-full.png)
Рельєфне текстурування — метод в комп'ютерній графіці, що потрібен для додання більш реалістичного й насиченого вигляду поверхні об'єктів.
Bump mapping[1] — простий спосіб створення ефекту рельєфної поверхні з більшою деталізацією, ніж дозволяє полігональна поверхня. Ефект досягається, головним чином, шляхом освітлення поверхні джерелом світла і чорно-білою (одноканальною) картою висот, шляхом віртуального зсуву пікселя (як у методі Displace mapping) так, якби там був вертекс (але без фізичного й візуального зсуву), внаслідок чого, таким же чином змінюється орієнтація нормалей, які використовуються для розрахунку освітленості пікселя (Затемнення по Фонгу), в результаті отримуємо ділянки, які освітлені й затемнені по-різному. Як правило, Bump mapping дозволяє створити не надто складні горбисті поверхні, пласкі виступи або западини, на цьому його використання завершується. Для більш детальних ефектів згодом був придуманий Normal mapping.[2]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2e/Normal_map_example_with_scene_and_result.png/220px-Normal_map_example_with_scene_and_result.png)
Normal mapping — техніка, що дозволяє змінювати нормаль пікселя, що відображається, ґрунтуючись на кольоровій карті нормалей, в якій ці відхилення зберігаються у вигляді текстеля, кольорові складові якого [r,g,b] інтерпретуються в осі вектора [x, y, z], на основі якого обчислюється нормаль, що використовується для розрахунку освітленості пікселя. Завдяки тому, що в карті нормалей використовуються 3 канали текстур, цей метод дає більшу точність, ніж Bump mapping, в якому використовується лише один канал і нормалі інтерпретуються, в залежності від довжини.
Карти нормалей зазвичай бувають двох типів: object-space — використовується для об'єктів, які не деформуються, наприклад, таких як стіни, двері, зброя тощо.[3]
tangent-space — використовується для можливості деформувати об'єкти, наприклад, персонажів.[3]
Для створення карт нормалей зазвичай використовується високополігональна і низькополігональна моделі, їх порівняння дає необхідні відхилення нормалей для останньої.[2]
Ця технологія також використовує координати нормалей, але, на відміну від normal 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.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Bump_map_vs_isosurface2.png/300px-Bump_map_vs_isosurface2.png)
Ця техніка, на відміну від описаних вище, змінює геометрію поверхні за заданою картою висот, яка зазвичай передається у вершинний шейдер через текстуру. Перевага в тому, що освітлення вважається звичним способом (піксельний шейдер може бути практично будь-яким), але потребує високої деталізації моделі.
- Особливості моделювання світла: Рельєфне текстурування (Bump mapping) [Архівовано 2 квітня 2015 у Wayback Machine.]
- Сучасна термінологія 3D-графіки [Архівовано 14 лютого 2012 у Wayback Machine.]
- ↑ Архівована копія (PDF). Архів оригіналу (PDF) за 22 жовтня 2016. Процитовано 14 квітня 2015.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ а б 3D Modeling Fundamentals — Part 2. Архів оригіналу за 12 грудня 2013. Процитовано 31 березня 2015.
- ↑ а б Normal Map — Tech Artists Wiki. Архів оригіналу за 13 грудня 2013. Процитовано 31 березня 2015.
- Buss, S.R. V.2 Bump mapping // 3D Computer Graphics: A Mathematical Introduction with OpenGL. — Cambridge University Press, 2003. — 371 p. — ISBN 9780521821032.
- Birn, J. Digital Lighting and Rendering. — Pearson Education, 2013. — 464 p. — ISBN 9780133439175.
- Akenine-Möller, T. and Haines, E. and Hoffman, N. Real-Time Rendering, Third Edition. — CRC Press, 2008. — 1045 p. — ISBN 9781439865293.