Galerie 16
3D technologie: Bump Mapping
Článek Grafiky a hry Hry a technologie

3D technologie: Bump Mapping | Kapitola 3

Zdeněk Kabát

Zdeněk Kabát

Seznam kapitol

1. 3D technologie: Bump Mapping 2. Emboss Bump Mapping 3. Environment Bump Mapping 4. Normal (DOT3) Bump Mapping 5. Displacement Mapping a závěr

Po delší době se opět podíváme na 3D technologie používané v současných GPU. Pod drobnohled jsem si tentokrát vzal Bump Mapping, což je řada technik a algoritmů umožňujících pomocí 2D textur simulovat zakřivení povrchu apod. V článku poskytnu detailní popis Emboss, Environment a DOT3 Bump Mappingu (tzn. normálového mapování), okrajově se zmíním i o Displacement Mappingu.

Reklama

Environment Bump Mapping

Autorem Environment-mapped Bump Mappingu (EMBM) je společnost Bitboys a hardwarovou podporu přinesla jako první společnost Matrox, která ho uvedla ve své řadě Millennium G400. Jedná se o velice efektivní metodu, která je ovšem náročnější na systémové zdroje (samozřejmě mluvíme o grafické kartě). Pokusím se tuto techniku vysvětlit co nejjednodušeji.

Environment Bump Mapping potřebuje celkem tři textury - klasickou texturu, bump mapu a environment mapu ("mapu prostředí", ale raději zachovám původní název). Bump mapa je trochu odlišná od textur, které jsme si představovali výše. Odpovídá v podstatě nanášené textuře a každému jejímu texelu přiřazuje danou souřadnici z environment mapy. Po kombinaci bump mapy a environment mapy s původní texturou pak vznikne mapa osvětlení pro daný objekt nebo scénu.

Nejlépe bude ukázat si to na obrázku:

3D technologie: Bump Mapping


Obr. 6 - Environment-mapped Bump Mapping

Na levé straně obrázku vidíte, co udělá environment mapa s obyčejnou texturou. V podstatě simuluje osvětlení a stíny na textuře, ale tak, že zdrojem osvětlení je environment mapa sama, nikoliv vnější zdroj. Po aplikaci bump mapy se již dostáváme ke kýženému výsledku - bump mapa přiřadí každému texelu danou souřadnici (tedy i intenzitu osvětlení) z environment mapy a vzniká dojem prostoru.

Podívejme se podrobněji na vytváření samotné bump mapy. Bump mapa je dvousložková textura obsahující komponenty DU a DV, která popisují posuny v U a V souřadnici původní textury. Souřadnice každého texelu jsou nejdříve získány interpolací souřadnic vrcholů polygonu (U/V) a poté jsou upraveny od DU/DV hodnoty z bump mapy. Jde de facto o černobílou výškovou mapu, jejíž posuny získáme opět odvozením od sklonu potřebné simulované plochy. Je použita 8-bitová hloubka, která je poté transformována na rozsah [-1,1].

3D technologie: Bump Mapping
3D technologie: Bump Mapping


Obr. 7, 8 - Planeta Země s využitím EMBM

EMBM je realizován vždy ve dvou průchodech (při multipassingu). V prvním průchodu se zpracuje bump mapa a environment mapa a skombinují se do nové environment mapy, která již obsahuje model osvětlení pro danou texturu. Tento model se v druhém průchodu spojí s texturou a výsledný objekt je na světě.

Enviroment BM má dvě základní využití - kromě toho, že dokáže vytvářet iluzi členitého povrchu, umí i dynamicky zpracovávat pohybující se povrch jakým je např. vodní hladina. EMBM se také používá velmi často k vytváření reflexivních (odrazivých) ploch. V tom případě nenese environment mapa informace o osvětlení scény, ale texturu, která se bude na daném povrchu odrážet.

Výhody

Environment-mapped Bump Mappingu jsou evidentní:

  • Pomocí jediné bump mapy lze simulovat i náročnější model osvětlení, tedy včetně několika světelných zdrojů apod. Je to zaručeno tím, že všechny informace o osvětlení jsou uloženy v environment mapě a odkazuje se na ně v libovolně upravitelné bump mapě.
  • Protože bump mapa odpovídá přesně původní textuře, u pohyblivých scén není třeba, aby se měnila v každém snímku. Jedná se totiž o per-pixel zpracování, kde se nám jak textura, tak bump mapa pohybují s objektem, zatímco environment mapa je zcela nezávislá. Na rozdíl od Emboss BM toto velmi šetří výkon GPU.
  • Díky možnosti dynamické bump mapy lze simulovat vlnící se vodní hladinu, která se ovšem v GPU zpracovává jako rovná plocha. Aplikací bump mapy, která se cyklicky mění, se vytváří dojem pohyblivé plochy, a to včetně odrazů. Environment mapa v tomto případě obsahuje i texturu, která se od hladiny odráží, např. stromy, hory apod.
  • EMBM může být závislý i nezávislý na úhlu pohledu a může na něj být použito globální i bodové osvětlení. To se dále zpracovává klasicky přes normálové vektory (Gouraudovo stínování).
3D technologie: Bump Mapping


Obr. 9 - Odrazy ve vlnící se hladině

Ovšem musím taktéž zmínit jednu

nevýhodu

. Tou je, že ani EMBM stále nepracuje s normálovými vektory a je tedy vázáno na informace v environment mapě. Pokud se na scéně bude nacházet několik různě umístěných světelných zdrojů, může dojít k nežádoucím efektům v obraze, hlavně pokud jde o reflexivitu povrchu. Přesto ale mají díky jednoduché použitelnosti EMBM vývojáři rádi a většinou jsou výsledky velmi dobré.


Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama