Úvodem bych rád upozornil, že při přípravě minulého dílu jsem se poněkud opozdil s ukázkami, takže definitivní úprava článku vznikla až v úterý ráno.
Modely pro šíření, odraz a lom světla
Abychom mohli odhadnout osvětlení každého bodu v rozumném čase, je třeba provést aproximaci chování všech objektů ve scéně. Její míra je závislá na schopnostech metody.
Nejjednodušší model, který se používá ve stínovacích metodách, je model zdrojů osvětlení jako světelných bodů, od nichž se šíří světlo po přímce a ubývá s druhou mocninou vzdálenosti (občas se používá i menší, nefyzikální mocnina, aby scéna nebyla příliš kontrastní). Narazí-li na těleso, rozptýlí se stejnoměrně do všech směrů. Tato metoda je věrohodná při zobrazování matných plastů. Nemusíme příliš přemýšlet, abychom zjistili, kde všude lze model vylepšit. Zdroje světla nejsou body, ale oblasti s určitou velikostí a tvarem, světlo může být při cestě v poloprůhledných materiálech pohlcováno nebo rozptylováno, a nakonec i odraz světla od tělesa není tak jednoduchý, nemluvě o lomu. K tomu nám však zdaleka metody stínování nestačí.
Lepší model, popisující paprsek světla, dopadající na těleso, je metoda tří význačných jevů na povrchu tělesa – zrcadlový odraz, lom a rozptyl. Tento popis předpokládá, že se dopadající světlo rozdělí, a vyvolá tyto tři efekty. První dva se vypočtou podle zákona odrazu a lomu, rozptyl se vypočte podle rozptylové funkce. Nejjednodušší, konstantní rozptylová funkce, předpokládá stejný rozptyl do všech směrů (blízké chování plastů). Mnohem lepší výsledek dávají empirické materiálové funkce poměru rozptylu v závislosti na odchylce od směru zrcadlového odrazu. Protože základní verze funkce nebere v úvahu úhel odrazu od tělesa, nedokáže ani ona popsat takové jevy, jako je například totální odraz (při velmi šikmém úhlu pohledu se např. od skla téměř všechno světlo odrazí). Kromě komplikované dvoudimenzionální rozptylové funkce k tomu slouží např. Torrance–Sparrowův model. Ten matematicky popisuje chování povrchu tělesa, jako by bylo složeno z různě natočených „mikroplošek“, jejichž vliv se může ve výsledku skládat nebo potlačovat. Jde o model výpočetně náročný, nicméně pro své kvality přesto používaný. I tato metoda bere v úvahu jen povrch tělesa a nezabývá se rozptylem světla uvnitř průsvitných těles.
Další zajímavou možností pro rozšíření popisu povrchu tělesa jsou textury (vzory). Pokud má mít těleso různobarevný povrch, provede se na něj mapování dvourozměrného obrázku (jedná se o stejná mapování, o jakých jsme se zmínili v minulém dílu, pouze směr použití je opačný). Textury se používají nejen k tvorbě barevného povrchu, ale často se jejich pomocí popisují i drobné nerovnosti nebo dokonce parametry rozptylu světla.
Metody sledování paprsku (ray tracing)
Metody sledování paprsku již lze zařadit mezi fotorealistická zobrazení.
Základní metodou je rekurzivní zpětné trasování paprsku. V této metodě provádíme zpětné trasování paprsku z místa pozorovatele. Zjistíme-li, že paprsek přichází z určitého bodu na tělese, spočteme na něm rozptyl vůči všem viditelným zdrojům světla. U paprsků zrcadlového odrazu a lomu zkoumáme, odkud dorazily, abychom mohli celý postup zopakovat. Rekurzivní sledování paprsku dává ve své základní podobě výborné výsledky u scén s lesklými a průhlednými předměty a zrcadly. Metoda dokáže spočítat i stíny. Neporadí si však se zabarvením světla dvojím rozptýleným odrazem (např. bílá matná kulečníková koule těsně vedle červené). Nezobrazí ani mírně neostrý odraz okolních těles od lehce matných okolních předmětů.
Metody progresivního trasování paprsku (sledování od zdroje světla k pozorovateli) nedoznaly výraznějšího rozšíření, vzhledem k jejich výpočetní náročnosti a skutečnosti, že většina výpočtů se provádí zbytečně (jen minimum paprsků se dostane k pozorovateli). Na druhou stranu může v budoucnu tato metoda posloužit pro tvorbu hologramů (výpočetní náročnost tím nevzroste). Za zmínku stojí její zajímavá varianta – metoda Monte Carlo – náhodné vysílání paprsků náhodnými směry.
Tím se dostáváme k nejsofistikovanějším fotorealistickým metodám, jakými bezesporu jsou radiační metody.
Radiační princip
Postupy založené na radiačním principu simulují šíření světla ve scéně. Jsou odvozeny od algoritmů známých z tepelných výpočtů a jsou založeny na analytickém výpočtu vzájemného ovlivňování jednotlivých plošek mezi tělesy. Ze vstupní geometrie se pro scénu vytvoří matice konfiguračních faktorů (octree), která popisuje vzájemnou viditelnost a míru ovlivnění jednotlivých plošek – tedy jak silně přispívá jedna ploška do světelné bilance druhé. Poté se použijí materiálové funkce jednotlivých plošek a vznikne obrovská soustava lineárních rovnic. Ta se vyřeší některou ze známých metod (např. iterativní Gauss-Seidlova). Tím dostaneme vyzařovací funkci všech plošek ve scéně. Protože radiační metoda pracuje s triangulací, následuje vyhlazení pomocí známého stínování.
Právě popsaná základní verze je extrémně výpočetně náročná. Její první implementace radiosity vyžadovala pro výpočet klasické testovací scény (místnost se židlemi, reflektory a koulemi na stole) na tehdy nejrychlejším počítači Cray více než pět dnů strojového času. Problémem radiačních metod je nejen výpočetní náročnost, ale i použití složitějších analytických těles.
Časem vznikly různé urychlovací postupy, které metodu přiblížily i majitelům běžných PC.
V praxi se lze setkat s plynulou škálou postupů od stínování až po radiační metody.
Protože ani standardní radiační metoda nestačí k věrnému zobrazení některých scén (např. barevné reflektory v mlze), vývoj algoritmů dále pokračuje.
|
|
|
Srovnání typických vlastností jednotlivých metod na vybrané scéně: Nahoře stínování s použitím stínů, vlevo rekurzivní sledování paprsků s měkkými stíny a vpravo radiosity. Je zřejmé, že sledování paprsku již dokáže vytvořit skleněný vzhled krychle, ale vzájemné odrazy mezi matnými tělesy zvládnou až radiační metody. |
|
Přístroje pro 3D grafiku
3D grafika se vymanila ze svých skrovných začátků a vstoupila plně na komerční trh. Podobně, jako existují fotobanky s běžnými fotografiemi, existují i 3D banky, kde si můžete požadovaný model vybrat a zakoupit. Na reklamní disketě jedné firmy najdete dokonce 3D model krávy…
Přestože existuje mnoho proprietárních formátů souborů pro 3D modelování, právě díky potřebám 3D bank vzniklo také mnoho špičkových převodníků mezi 3D formáty (převážně komerčních). Nejste tedy v situaci majitelů šablon formulářů pro kancelářské balíky, kteří musí se změnou programu zahodit i všechny vytvořené šablony…
Jak takové modely vznikají? Většinou je nevytváří žádný počítačový grafik (či snad „počítačový sochař“?). Nástrojem na jejich tvorbu jsou 3D skenery. Do speciální zatemněné místnosti se vloží model, načež skener začne objekt osvětlovat laserem (lasery). Podle zjištěného místa dopadu pak počítač vytvoří 3D model. Další metody pro konvexní resp. „téměř konvexní“ objekty jsou založeny na „skenování“ za pomoci obepínajícího lanka nebo měřícího hrotu (tento postup je používán u průmyslových NC strojů). Jinou možností je analýza několika fotografií objektu, kdy se před bodový zdroj světla vloží kontrastní čtvercová síť.
Zajímavé jsou též obchody s dynamickými modely – rozpohybovat pouhou triangulaci krávy by byla neskutečná námaha. A tím jsme se dostali k jednomu z témat příštího dílu – 3D animaci.