Текстура (тривимірна графіка)
Текстура (англ. Texture mapping) — це спосіб надання поверхні 3D деталі — полігону: кольору, фактури, блиску, матовості та інших фізичних властивостей (для імітації найчастіше якогось природного матеріалу, наприклад: паперу, дерева, каменю, металу тощо).
Поняття «текстура» є важливим елементом 3D-моделювання, оскільки дозволяє відтворити також малі об'єкти поверхні, створення яких полігонами виявилося б надмірно ресурсомістким. Наприклад, шрами на шкірі, складки на одязі, дрібні камені, предмети на поверхні стін і ґрунту та багато іншого. Отже, текстура використовується для заповнення поверхонь об'єктів і як шар для додання певного ефекту або зміни геометрії всьому зображенню або його частини.
Текстури бувають шовні та безшовні (патерни або візерунки). Головна відмінність останніх в тому, що при поєднанні одних і тих же фрагментів поверхня залишається цілісною.
Якість поверхні текстури визначається текселями — кількістю пікселів на мінімальну одиницю текстури. Оскільки сама по собі текстура є зображенням, роздільність текстури і її формат відіграють велику роль, яка згодом позначається на загальному враженні від якості графіки у 3D-додатку.
Створення параметрів матеріалу здійснюється за допомогою використання карт (зображення) розташованих у відповідних каналах, або за допомогою процедурних карт, а також змішаного методу.
Карта текстури ред.
Карта текстури застосовується для утворення певного параметру візуального відображення на поверхні заданої форми. Цей процес нагадує застосування візерунчастого паперу на звичайній білій коробці. Кожній вершині в 3D моделі присвоюється координати текстури (яка у разі 2D відома, як UV координата). Місця відбору проб зображення згодом інтерполюється по поверхні моделі з отриманням візуального результату.
Найчастіше це файл растрового (рідше векторного) зображення з розширенням JPEG, PNG або PAT.
Типи карт ред.
- Diffuse map (карта базового кольору) — текстура, якою задається основний колір поверхні. Для того, щоб добре працювати з картою нормалей, дзеркальною та іншими картами дифузна карта не повинна мати ніякого спрямованого світла на своїй поверхні, вона повинна мати тільки загальні навколишні оклюзії, тобто поверхня стає темніша в глибоких тріщинах і навколо тиснення деталі;
- Specular map (карта відбиття) — карта, яка показує здатність відображення матеріалу. На відміну від reflection map, specular map не показує відображення сцени, в якій знаходиться об'єкт, а зображує відбиття світла падаючого на нього. Specular Map містить в собі пікселі в чорно-білій колірній гамі. Чим світліший піксель, тим більше здатність матеріалу відбивати світло і тим яскравіше на ньому відблиски від світла. Відповідно чим темніший піксель, тим більш матовим стає матеріал і втрачає свою властивість відбивати світло. Для матеріалів керамічної плитки і полірованого металу можуть використовуватися світлі тони, а для тканин і дерева темні;
- Bump map (карта рельєфу) — карта для імітації рельєфу поверхні. Створюється в градаціях сірого кольору. При рендерингу сірі області карти (мається на увазі сірий колір — R = 150, G = 150, B = 150) відображатиметься звичайним чином, чорні будуть замальовуватись, а білі — освітлюватись (чим область світліше, тим більше рівень яскравості) — ця ілюзія світла і тіні створює ефект рельєфу поверхні;
- Normal map — карта для імітації рельєфу поверхні. Дозволяє змінювати нормаль відображуваного пікселя ґрунтуючись на кольоровій карті нормалей, в якій ці відхилення зберігаються у вигляді текселя, колірні складові якого [r, g, b] інтерпретуються в осі вектора [x, y, z], на основі якого обчислюється нормаль, використовувана для розрахунку освітленості пікселя. Завдяки тому, що в карті нормалей використовують 3 каналу текстури, цей метод дає більшу точність, ніж Bump mapping, в якому використовується тільки один канал і нормалі, по суті, всього лише інтерпретуються в залежності від «висоти»;
Карти нормалей зазвичай бувають двох типів: object-space — використовується для об'єктів, що не деформуються, таких як стіни, двері, зброя тощо; tangent-space — застосовується для можливості деформувати об'єкти, наприклад персонажів. Для створення карт нормалей зазвичай використовується високополігональні і низькополігональні моделі, за їхнім порівнянням встановлюють потрібне значення відхилення нормалей.
- Displacement map — карта зміщення, для показу рельєфу поверхні. Також представляється в градаціях сірого кольору. Принципова відмінність від попередніх двох методів, що цей спосіб автоматично посправжньому моделює за картою полігони. Природно він найякісніший і найбільш ресурсомісткий;
- Height map — двовимірний масив, кожен елемент якого інтерпретується як висота. Часто використовуються в програмах для створення ландшафтів (Terrain), щоб зберігати інформацію про висоту кожної точки місцевості. Використовуються також в технології бамп-маппінга (bump mapping);
- AmbientOcclusion (AO) map — карта затінення;
- Reflection map — карта відображення;
- Curvature (Concave, Convexity, Pits, Peaks, Worn Edge) map — карта, яка зберігає опуклості, вигини сітки;
- Opacity map (opaque map), (карта непрозорості) — формується на основі чорно-білої текстури, де повністю чорний колір буде відображатися прозорим (вирізатися з дифузної карти), білий повністю залишатиметься відображатись, а сірі відтінки відображатимуться напівпрозоро з альфа інтенсивністю;
- Glow map;
- DuDv;
- Flow map — карта направлення текстури, також називають векторним полем;
- Radiosity normal map — карта використовується в основному при запіканні текстур;
- Roughness;
- HGlossiness;
- RGlossiness;
- Anisotropy;
- An.rotation;
- Refract;
- Glossiness;
- IOR;
- Translucent;
- Enviroment.
Див. також ред.
Джерела та література ред.
Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. (серпень 2014) |
Це незавершена стаття про комп'ютерну графіку. Ви можете допомогти проєкту, виправивши або дописавши її. |