Texturování
Z Wikipedie, otevřené encyklopedie
Texturování (mapování textur) je technika, která zlepšuje vzhled trojrozměrného modelu. Znamená to, že určíme barvu a případně i další optické vlastnosti povrchu modelu (jako kdybychom na něj nanesli obrázek). Program sloužící pro nanášení textur se označuje shader (resp. pixel shader).
Obsah |
[editovat] Druhy textur
V praxi obvykle textury dělíme do dvou kategorií:
- Obrázkové textury
- Procedurální textury
[editovat] Obrázkové textury
Texturou je bitmapový obrázek. Může obsahovat různý počet kanálů (obvykle RGBA - červený, zelený, modrý, alpha ). Důležité je rozlišení obrazu, a tím i dostatečná detailnost textury. Používá se asi nejčastěji, například v počítačových hrách.
[editovat] Procedurální textury
Tento druh textur je matematicky vyjádřen pomocí nějaké funkce. Výhodou je, že nezáleží na rozlišení, které se přizpůsobí velikosti renderovaného obrazu. Nevýhodou ale je, že ne všechny povrchy lze matematicky vyjádřit.
[editovat] Mapování textur
Především u obrázkových textur velmi záleží na zvoleném mapování. Tím se myslí to, jak se bude texturou potahovat zakřivený objekt. Většina vychází ze základních geometrických primitiv jakými jsou rovina, kvádr, koule nebo válec.
Texturami nemusíme ovlivňovat jen barvu modelu. Můžeme jimi ovlivňovat snad všechny vlastnosti povrchu materiálu, jako kolik má materiál pohlcovat světla, zrcadlení, svítivost (self-illumination), normálu (bump mapping), průhlednost a podobně. K uložení potřebných dat můžeme využít alfa kanál grafických souborů.
[editovat] Formáty textur
Často používanými formáty pro textury jsou BMP, TGA a DDS (DirectDraw Surface). Často se textury získávají úpravou digitálních fotografií. Pro vytváření textur se používají běžné grafické editory jako GIMP nebo Adobe Photoshop.
[editovat] Běžné typy textur
- Diffuse textura - Kanály RGB(A) - obsahuje základní obrazovou informaci při rovnoměrném nasvícení povrchu. Kanál A bývá používán jako alfa kanál určující hodnotu průhlednosti. Obvykle nižší hodnota znamená vyšší průhlednost.
- Normálová textura - Kanály RGB značí XYZ hodnotu normálového vektoru v tangent space. Příležitostně se využívá A kanál pro informaci o výšceů většínou vyšší hodnota znamená výstupek z povrchu.
- Specular (odrazová) textura - Kanály RGB označují barvu a intenzitu odlesku (přesněji barevnou změnu vstupnícho světla) pixelu po nasvícení. Starší hry používají pouze jednokanálové odlesky.
- Distortion / refraction (textura lomu) - Používá se pro definici materiálů, jenž lámou světlo - např. nerovné sklo. Bývá zjednodušována jako zápis vektorů odchýlení pixelů obrazu za povrchem ve scéně v RGB, podobně jako normálové vektory zapsané v normálové mapě.
- Occlusion (pohlcování světla) - Udává jak hodně je schopen být pixel nasvícen, neboli obráceně kolik příchozího světla pohltí (neodrazí). Použitím těchto textur se obvykle zlepší vnímavost nerovností na materiálu.
- Ambient (prostředí) - Bývá používána jako první v procesu nasvětlování a stínování. Obsahuje informaci o okolní scéně, nejčastěji zadána formou cube mapy, což je soubor 6ti textur, kde každá textura zaujímá jednu stranu krychle. Použitím této složky lze docílit efektu kovového odlesku materiálu.