Ольштинський О. К icon

Ольштинський О. К




Скачати 48.18 Kb.
НазваОльштинський О. К
Дата28.06.2012
Розмір48.18 Kb.
ТипДокументи

Ольштинський О.К.


Текстури. Методи нанесення текстур. Урахування перспективи об’єкту при нанесені текстур. Методи Bump Mapping.


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

Для точного управління текстуруванням (texture alignment) зазвичай потрібно додатково вказати спосіб проектування ("перенесення") текстури на поверхню об'єкту (projection type) і режим відображення на ній (mapping mode).

^ Основні способи проектування текстур наступні:

  • ортографічний (orthographic) – коли текстура проектується на площину, описану трьома точками. Такий спосіб дуже часто називають планарним (planar) проектуванням;

  • циліндровий (cylindrical) – це "загорнення" об'єкту в текстуру, що проектується на циліндр, описаний двома полюсами (верхнім і нижнім) і лінією шва (з'єднання кромок текстури);

  • сферичний (spherical) – спосіб, аналогічний попередньому, але проектування відбувається на сферу, задану верхнім полюсом, центром і швом;

  • дзеркальний (reflection) – застосовується для імітації віддзеркалень на поверхні об'єкту. Працює подібно до сферичного проектування;

Розрізняють два види текстур:

  • Процедурні.

  • Проектні (наносяться на грань об'єкту).

Процедурні текстури

Розглянемо простий приклад: є будиночок з цегляними стінами. Вирішити завдання опису грані будиночка достатньо складно. Можна було б описати стінку, але це теж складно, тому цю стінку малюють окремо, а потім накладають як текстуру на потрібну грань.





Рис.1

У ряді випадків можуть виходити спотворення.



Рис. 2

Чим більше перспективне спотворення, тим більше ці спотворюючі ефекти.

Розв'язується наступне завдання: у площині зображення є деякий прямокутник і bmp-картинка, яку нам треба вписати в цей прямокутник. Це завдання можна сформулювати інакше: є деякий багатокутник і картинка, йому відповідна. Багатокутник заданий текстурованими координатами, по яких з текстурованого поля вирізується певний шматок і наноситься на об'єкт.

Проектні текстури

Розглянемо загальний випадок, коли текстура проектується на поверхню, яка потім проектується на 2-х мірний екран. Ми проектуємо проектором якесь зображення на поверхню, а потім дивимося на неї з довільної точки. Тобто знову проектуємо зображення, цього разу вже з поверхні на спостерігача. При побудові зображення ця ситуація моделюється украй просто – проекція примітивів поверхні на екран звичайна справа, а роль другої проекції (проектування зображення на поверхню) грає прив'язка відповідного місця текстури із зображенням на примітиви.




Рис. 3

Нам залишилося лише навчитися правильно прив'язувати текстуру з початковим зображенням до нашої поверхні.

Всього ми маємо справу з чотирма координатними системами.

1. Спостережницька система ("clip" або "projection") – є звичайним для графіки 4-х координатним представленням 3-х мірного (об'ємного) простору. Координати звуться x, у, z, w. Початок цієї координатної системи лежить в точці спостереження.

2. Екранна система ("screen") – 2-х мірний екран, який і бачить спостерігач. Ці координати виходять із спостережницької системи шляхом ділення x і у на w - x5 = x / w y5 = у / w (індекс "s" у координат, що виходять, позначає екранну систему).

3. Система джерела світла ("light") – це друга об'ємна система координат (xt, yt, zt і wt). На початку цієї системи координат знаходиться джерело світла.

4. Текстурована система (texture) – координати на площині проектованої текстури (той слайд, крізь який світить уявне джерело світла). Текстуровані координати виходять як xt = xt / wt, yt = yt / wt (також можна обчислити zt = zt / wt, якщо ми вирішили не обмежуватися плоскою текстурою).

Завдання зводиться до наступного: маючи крапку (x5, y5) на екрані, нам необхідно знайти відповідну їй крапку (xt, yt) на текстурі.

^ Bump Mapping

Bump – це рельєф.

Mapping – метод накладення текстури на поверхню.

Bump mapping – це метод досягнення видимості рельєфу на поверхні.

Докладніше:

Bump – це рельєф на поверхні, нерівності, шорсткості, опуклі деталі і вм'ятини.

Bump mapping – це метод, за допомогою якого можна досягти видимість bump-а на поверхні за допомогою завдання контурів Bump-а в текстурі або текстурах. Існує декілька видів Bump mapping-а.

Основні типи bump mapping-а:

1. Рельєфність, імітована спотворенням віддзеркалення або заломлення. Цим способом досягається імітація хвиль на водній поверхні, видимість рельєфу на скляній і відзеркалювальній поверхні. EMBM (Environment map bump mapping).

2. Рельєфність, імітована освітленням. Деталі на поверхні показуються освітленням, затінюванням в місцях нерівностей. Це досягається дифузним bump mapping-ом, наприклад, імітація хвилевої поверхні на піску, і відбитим джерелом світла (спекулярним bump mapping-ом), наприклад, на залізних блискучих предметах.

3. Рельєфність, створена геометрією, що додатково генерується. Це displacement bump mapping.

4. Рельєфність, імітована паралаксом, тобто зсувом різно видалених частин поверхні при русі спостерігача. Досягається зсувом текстурованих координат для кожного пікселя, при отрісовке поверхні.

Ці методи можуть поєднуватися і переплітатися з іншими методами накладення текстур.

Для реалізації bump mapping-а використовуються різні типи текстур:

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

Карти нормалей, в яких зберігаються нормалі для відповідних частин поверхні. Звідси normal mapping, який є методом досягнення bump mapping-а. Нормалі лінійним перетворенням зіставляються з кольорами. Кожна координата (x, у, z) – для відповідного кольору (r, g, b). Відносно рівна поверхня, означає, що x і у близькі до нуля, а z – до одиниці, тому в таких текстурах переважає синій колір з проявом бузкових і зелених відтінків. Карти нормалей можна генерувати з карт висот або із зіставлення складної геометрії з низькополігональною (polybump).

Карти зсувів. Карти, що задають зсув текстурованих координат для дифузної текстури, що накладається. Оскільки текстуровані координати двовимірні, то тут кожен елемент містить не три компоненти, а дві. До того ж, може займати під кожну компоненту до 16-ти біт. Тому візуально не завжди можна подивитися на таку текстуру.


Література:


  1. Л. А. Залогова «Компьютерная графика. Элективный курс. Практикум» Бином. Лаборатория знаний, 2005 г.

  2. В. В. Мельниченко, В. В. Легейда Компьютерная графика и не только. Руководство пользователя Корона-Принт, НТИ, Век +, 2005 г.

  3. Е.В. Шикин, А.В. Боpесков "КОМПЬЮТЕРHАЯ ГРАФИКА динамика, pеалистические изобpажения" Москва "Диалог-МИФИ", 1995

  4. А. Ла Мот, Д. Ратклифф, М. Семинатоpе, Д. Тайлеp "Секpеты пpогpаммиpования игp" СПб "ПИТЕР", 1995

  5. James Foley, Andries van Dam, Steven K. Feiner, John F. Hughes " Computer Graphics. Principles and practice". Second edition.







Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи