reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

3D technologie: Displacement Mapping

29.7.2004, Zdeněk Kabát, článek
3D technologie: Displacement Mapping
Minulý týden jsme Vám přinesli popis 3D techniky Bump Mapping, která se používá v grafických čipech již hezkou řádku let. Dnes přichází řada na úplnou novinku v online renderingu, a tou je Displacement Mapping. Tato metoda je hardwarově podporována od Shader Modelu 3.0 a pomocí 2D textury fyzicky upravuje geometrický detail objektu.
Výhody a nevýhody DM

Z předcházejících odstavců by se mohlo zdát, že Displacement Mapping je téměř perfektní technika, která usnadňuje grafikům modelování. Podívejme se nejdříve na všechny výhody, které nám DM přináší:
  • Displacement Mapping šetří paměť grafické karty a také paměťovou sběrnici. Mnoho desítek vrcholů, které jsou zadány pomocí 3 souřadnic, je simulováno pomocí 8- nebo 16-bitové 2D displacement mapy. V této mapě jsou obsaženy všechny nutné informace k vyrenderování daného objektu.
  • Se stejnými nároky na paměť jako v případě ukládání samotných vrcholových informací dokáže Displacement Mapping vytvořit mnohem detailnější model.
  • Animace, tvarování a další práce s vertex shadery je díky použití mnohem menšího počtu polygonů snadnější. Místo desítek tisíc vrcholů stačí, když je jich zpracováváno jen několik stovek, čímž ušetří displacement mapping mnoho práce geometrické jednotce.
  • Díky tomuto odlehčení je také možné převést nějakou práci na CPU, který je všeobecnější. Navíc se pak nemusí daný program vázat na konkrétní GPU, protože drtivá většina současných desktopových procesorů pracuje na stejné instrukční sadě.
  • Protože je většina informací o objektu převedena do 2D textury, mohou se na ni aplikovat všechny poznatky, jako komprese (JPEG, 3Dc), prolínání (blending), uživatelské úpravy apod.


Obr. 7 - Další příklad Displacement mappingu

Kromě všech těchto výhod má ale Displacement Mapping jistá omezení:
  • Displacement mapy nejsou použitelné na všechny typy modelů. Pokud obsahuje objekt hodně úhlových zlomů, je hladký nebo pokud má na sobě různě směrované plochy (např. krystaly) jsou mapy nepoužitelné, protože narušují potřebný reliéf. V těchto případech je lépe použít přímo detailnější model.
  • DM se také těžko aplikuje na vysoce členité a zlomkovité objekty jako je tráva, stromy apod. Je to kvůli tomu, že Displacement Mapping upravuje povrch jen jedním směrem a neumí měnit 2D struktury.
  • Pro objekty se záhyby se těžko vytváří displacement mapy. Typickým příkladem je oblečení, které se může snadno vlnit a překládat.
  • V neposlední řadě musím zmínit nízkou hardwarovou podporou pro skutečný displacement mapping, který zatím bude využívat jen GeForce 6800. Virtuální DM je již součástí Parhelie a Radeonů.


Obr. 8 - Různé postavy vytvořené pomocí DM ze stejného modelu
Klikněte pro zvětšení

Závěr

Zatím jsme si vysvětlili Displacement Mapping jako technologii, otázkou je, kdy se ukáže praxe. Jak jsem zmiňoval, současně existuje jediný GPU s hardwarovou podporou DM, takže se vývojáři možná nebudou do této metody hrnout. Na druhou stranu, nVidia bude tlačit, aby se vyvíjelo co nejvíce her postavených na Shader Modelu 3.0, takže je možné, že herní enginy budou Displacement Mapping obsahovat brzy.

Zdroje: GDC2003 - Displacement Mapping Notes, Matrox, Delphi3D, Parallax mapping
reklama