Bump mapping

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Bump mapping je technika texturování, která vytváří iluzi nerovnosti povrchu bez změny jeho geometrie. Iluze nerovnosti povrchu se dosahuje úpravou normály v každém pixelu plochy. Modifikovaná normála pak ovlivní výpočet osvětlení plochy.

Tato technika nedokáže simulovat silně zvlněný povrch, který by zakrýval sám sebe, proto je nutno volit přiměřenou míru zvlnění.

Techniku můžeme dále kombinovat například se specular mapou, které určí hodnoty odraznosti (při simulaci dlaždic můžeme předepsat, že dlaždice se leskne a malta ve spárách ne).

Klasická metoda (modulace normály)[editovat | editovat zdroj]

Pro uložení informace o hrbolatosti povrchu se používá bump mapa. Obvykle je to textura s osmibitovou barevnou hloubkou. Může být obrázková nebo procedurální.

Typicky se bump mapa interpretuje jako výšková mapa. Normálový vektor je pak pozměněn podle gradientu této mapy v příslušném bodě.

Obrázek pro použití jako bump mapa
Bump mapa na rovině
Dlažba s použitím bump mapy
Dlažba bez použití bump mapy

Normal mapping (normálové mapování)[editovat | editovat zdroj]

Použití normálového mapování na nízko-polygonálním modelu

Normálová mapa na rozdíl od bump mapy určuje absolutní hodnotu normály. V každém pixelu definuje normálový vektor. Jeho tři složky jsou obvykle uloženy jako tři osmibitové barevné kanály.

Na rozdíl od bump mapy se většinou normálová mapa nevytváří ručně. Při vytváření modelů jednotlivých objektů grafik vytvoří dva modely – jeden nízko-polygonální (low-poly), který bude použit přímo v interaktivní simulaci a jeden vysoko-polygonový (high-poly), skládající se až z několika milionů trojúhelníků. Následně jsou tyto dva modely porovnány. Z rozdílů je vytvořena normálová mapa, která zachovává detaily vysoko-polygonálního modelu a je namapována na nízko-polygonální, který se může vykreslovat v reálném čase.

Pro účinnou kompresi normálové mapy se používají speciální bezztrátové algoritmy.

Příkladem je např. DOOM 3, zajímavé jsou výsledky UnrealEngine 3. Valve pro svou novou verzi Source Engine vyvinul Radiosity normal mapping. Také čeští nezávislí vývojáři z Reversity Studios, dříve známí jako 7thSquad Team pracují na Panther3D engine hojně využívajícím této a vylepšené techniky nerovnosti povrchů.

Parallax mapping[editovat | editovat zdroj]

Pro věrohodné znázornění výškově členitého povrchu se využívá technika parallax mapping. Tato technika zohledňuje zorný úhel (paralaxu).

Používá se zde výšková mapa (height map). Dle hloubky v daném bodě a dle vektoru pohledu se korigují souřadnice textury. Algoritmus vzdálí vystouplá místa textury od oka pozorovatele, zatímco propadliny k němu naopak přiblíží. Tato technika je hardwarově poměrně náročná.

Tato technika je nazývána také offset mapping nebo virtual displacement mapping.

Odkazy[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

Normálové mapování[editovat | editovat zdroj]

Parallax mapping[editovat | editovat zdroj]