Jak se algoritmy učí kreslit: Počítačový obraz reálného světa (2)

Matematika |

Nejjednodušší a nejrychlejší metody tvorby obrazu prostorové scény se problémem osvětlení vůbec nezabývají a vizualizují pouze geometrickou strukturu scény. Jedná se především o drátový model (wireframe) a o model se skrytím neviditelných hran (hidden edge).




Dráty a hrany

Nejjednodušší a nejrychlejší metody tvorby obrazu prostorové scény se problémem osvětlení vůbec nezabývají a vizualizují pouze geometrickou strukturu scény. Jedná se především o drátový model (wireframe) a o model se skrytím neviditelných hran (hidden edge).
Ačkoli lze v tomto případě jen ztěží hovořit o realistickém zobrazování, tyto nejstarší zobrazovací metody dodnes nacházejí své uplatnění v editorech prostorových modelů, při přípravě počítačových animací nebo při technologické vizualizaci v CAD/CAM systémech. V těchto případech je přesné geometrické znázornění hran mnohem důležitější než jakoby realistický pohled na editovaný model.

Druhá generace

Další generace algoritmů kombinuje výpočet geometrie scény s velmi zjednodušeným osvětlovacím modelem. Jedná se především o malířův algoritmus (painter’s algorithm) a paměť hloubky (Z-buffer). Zatímco v případě malířova algoritmu probíhá výpočet viditelných částí scény metodami analytické geometrie (výpočtem průniků průmětů hran těles scény), paměť hloubky prostě postupně vykresluje jednotlivé povrchy v zorném poli a řešení vzájemných zákrytů ponechává na obrazové paměti, ve které vzniká vytvářený rastrový obraz. Díky své algoritmické jednoduchosti lze tuto metodu snadno a rychle realizovat přímo hardwarem grafických procesorů, což ji předurčuje k použití v počítačových hrách na dnešních PC a herních konzolích.
Malířův algoritmus a paměť hloubky již umožňují alespoň zhruba naznačit některé osvětlovací poměry ve scéně. Pro jednotlivé plochy lze určit jejich vzdálenost a natočení vůči světelným zdrojům a na základě toho odhadnout jejich osvětlení. Plochy lze snadno "opláštit" texturami, rastrovými kresbami zvyšujícími při vhodném použití realistický dojem z takto vytvořených obrázků.
Tímto způsobem lze zároveň snížit složitost vektorových modelů a tedy i počet elementárních ploch modelu potřebných k dosažení iluze hladce zaoblených povrchů (problém, který širší veřejnosti v nedávné minulosti představila v herních a filmových časopisech rozsáhlá diskuse o poprsí Lary Croft, hlavní protagonistky série počítačových her a filmů Tomb Raider).
Hlavní výhodou dosud popsaných algoritmů je jejich implementační snadnost, vysoká rychlost a jednoduchá realizovatelnost hardwarem. Základem vysoké rychlosti je řešení osvětlovacích poměrů pro celé plochy najednou, což na jedné straně výpočet zrychluje, na druhé straně to ovšem komplikuje nebo přímo znemožňuje simulaci některých světelných efektů (např. vržené stíny, nepřímé osvětlení, odrazivé povrchy).
Pro úplnost se zde sluší dodat, že některé z těchto pokročilejších osvětlovacích efektů lze různými triky napodobit i pomocí paměti hloubky (např. vržené stíny pomocí tzv. stínových map vytvářejících obraz scény jakoby z pohledu světelných zdrojů nebo zrcadla zdvojením scény). Jedná se ale stále o pouhé programátorské triky umožňující obejít nebo zamaskovat nedostatky vyplývající z podstaty zobrazovací metody.

Výpočet osvětlení

Další úroveň představují realistické zobrazovací algoritmy založené na samostatném výpočtu osvětlení pro jednotlivé viditelné body scény. Jejich základem je aparát geometrické optiky umožňující sledovat průchod světelných paprsků scénou. Proto se také označují za metody sledování paprsku (ray tracing).
Tato metoda pro každý viditelný bod scény zkoumá jeho osvětlení z jednotlivých světelných zdrojů; lze tak určit vržené stíny. Navíc v případě, kdy scéna obsahuje (ideální) odrazivé a průhledné povrchy, lze simulovat zpětný průchod paprsku i těmito složitějšími optickými soustavami, a simulovat tak např. zrcadla a skleněné povrchy.
Nevýhodou tohoto postupu je vysoká (exponenciální) závislost časové náročnosti na počtu a umístění odrazivých povrchů ve scéně. Princip metody navíc neumožňuje simulovat matné povrchy rozptylující světlo a potažmo nepřímé osvětlení, takže výsledný obraz obsahuje nepřirozeně ostré stíny a barevné přechody. Realistické měkké světlo zde zcela chybí.
V historii vývoje počítačové grafiky byla reakcí na popsané nedostatky metody sledování paprsku metoda radiozity. Zatímco metoda sledování paprsku je založena na čistě lokálním principu vzorkování osvětlení v diskrétních bodech, radiozita si svůj aparát vypůjčila z fyzikálních zákonů vyzařování tepelné energie.
Scéna se v tomto případě rozdělí na konečné prvky a sestavením rovnic pro přenos světelné energie mezi nimi vznikne soustava, jejíž řešení poskytne globální informaci o osvětlení jednotlivých ploch. Zřejmou nevýhodou metody představuje nutnost rozdělit scénu na konečné prvky a sestavit a řešit soustavu rovnic pro všechny prvky najednou, takže pro složitější scény se paměťové a časové nároky výpočtu stávají neúnosnými.


Paměť hloubky: osvětlení jednotlivých objektů odpovídá jejich natočení vůči zdroji světla, chybí vržené stíny.


Sledování paprsku: umožňuje simulovat vržené stíny, odraz a lom světla.
Výpočet obrázků použitých v tomto článku byl proveden pomocí programu POV-Ray verze 3.5 (http://www.povray.org).

1. díl seriálu
http://www.scienceworld.cz/sw.nsf/ID/B0B2D892E4624EA2C1256EAE00473337?OpenDocument&cast=1

3. díl seriálu
http://www.scienceworld.cz/sw.nsf/ID/2E6F17AC649C298BC1256EAE0047A754?OpenDocument&cast=1








Související články




Komentáře

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.