Zobrazovací rovnice

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Rovnice odrazu popisuje množství světla odraženého z bodu x ve směru k pozorovateli na základě znalosti světla přicházejícího do bodu x ze všech směrů a popisu povrchu pomocí BRDF. Rovnice je integrálem přes hemisféru ve směru normály, tj. přes všechny příchozí směry.

Zobrazovací rovnice, anglicky Rendering equation, je integrální rovnice používaná nejčastěji v počítačové grafice k syntéze obrazu. Rovnice popisuje přenos světla ve scéně a jejím řešením je tedy rovnovážný stav rozložení světla ve scéně.

Zobrazovací rovnice byla představena zároveň Davidem Immelem a kol.[1] a Jamesem Kajiyou[2] v r. 1986.

Úvod[editovat | editovat zdroj]

Nejprve byla odvozena rovnice odrazu popisující interakci světla s povrchem a z té byla následně odvozena integrální Zobrazovací rovnice. Zobrazovací rovnice se používá jako základ všech algoritmů syntézy obrazu na principu sledování paprsků jako jsou například Path Tracing (žeby Sledování cest?) nebo Ray Tracing. Za zjednodušujících předpokladů lze ze zobrazovací rovnice odvodit radiační metodu (radiozitu). Obecně je tato rovnice těžce řešitelná. K jejímu řešení se používají nejčastěji metody založené na numerickém odhadu integrálu jako jsou metody Monte Carlo nebo Metropolis.

Rovnice a její formy[editovat | editovat zdroj]

Úhlová forma[editovat | editovat zdroj]

Základní podoba - výpočet integrálu přes prostorové úhly v hemisféře

Zobrazovací rovnice ve své úhlové formě:

Kde

značí celkovou vyslanou zář (radianci) z bodu podél paprsku ve směru ,
značí zář (radianci) emitovanou zdrojem z bodu ve směru ,
hemisféru ve směru normály se středem v , přes kterou integrujeme (viz obr.),
směr příchozího paprsku
je velikost úhlu mezi a normálou plochy
je distribuční funkce odrazu (BRDF) v bodě ze směru do .

Plošná forma[editovat | editovat zdroj]

Situace při výpočtu integrálu přes plochu scény. Sčítáme zář z diferenciálních plošek z celé scény s ohledem na viditelnost

Protože implementace integrace přes sférický úhel může být nepraktická nebo obtížná, lze převést Zobrazovací rovnici substitucí do tvaru, ve kterém vystupuje integrál přes plochu scény místo přes směry. Po úpravách dostaneme rovnici v následujícím tvaru:

Kde

je přepis do podoby záře vyslané z bodu ve směru k bodu
obdobně pak popisuje odraz paprsku, přicházejícího z , v bodě , odraženého ve směru
je tzv. geometrický člen, který zohledňuje orientaci daných ploch v prostoru a
je funkce viditelnosti, přičemž pokud jsou vzájemně viditelné, jinak.
značí celou plochu scény, přes kterou integrujeme,
je diferenciální ploška, podle které integrujeme.

Odvození[editovat | editovat zdroj]

Zobrazovací rovnici odvodíme z Rovnice odrazu světla, anglicky Reflectance equation.

Rovnice odrazu[editovat | editovat zdroj]

Pro reprezentaci světla budeme používat fyzikální veličinu zář (radianci) vyjádřenou jednotkami ve . Začneme od nejjednoduššího zápisu a dále jej budeme rozvíjet až do odvození forem uvedených výše.

Řekněme, že radiance v odchozím směru na povrchu scény je rovna součtu radiance odražené od povrchu v tomto směru a radiance emitované daným směrem (v případě světelného zdroje).

Neboli

Kde

je bod ve scéně a
značí odchozí směr.

Nyní se podíváme na člen . Tento vychází z matematického popisu odrazu paprsku od povrchu scény, neboli BRDF (Bidirectional Reflectance Distribution Function), což je funkce vyjadřující subkritickou hustotu pravděpodobnosti (její integrál může být < 1, tedy světlo může být pohlcováno povrchy), že se foton, který na povrch dopadne, odrazí daným směrem.

A tedy

,

po integraci

.

Kde

je funkce BRDF a
vyjadřuje příchozí zář (radianci) .

Tímto dostáváme rovnici odrazu, která vyjadřuje interakci světla s povrchem scény.

Zobrazovací rovnice[editovat | editovat zdroj]

Z rovnice odrazu lze pomocí snadné úvahy a vyjádření Li pomocí Lo získat Zobrazovací rovnici. Nejprve si zavedeme funkci vržení paprsku, jako

bod na povrchu scény, protnutý paprskem z bodu ve směru ,

Protože je radiance podél paprsku konstantní, platí

Dosazením předchozí rovnosti do rovnice odrazu získáme Zobrazovací rovnici

Odvození plošné formy zobrazovací rovnice[editovat | editovat zdroj]

Situace substituce diferenciální plošky za diferenciální prostorový úhel. Zde je třeba vzít v úvahu vzdálenost a natočení plošky

Rovnici v plošném tvaru získáme substitucí. Prosté dosazení diferenciální plošky za diferenciální úhel ale nestačí. Je třeba také vzít v úvahu to, že se intenzita záření mění s kosinem úhlu natočení od normály (Lambertův zákon) a klesá úměrně čtverci vzdálenosti (viz obr.). S těmito znalostmi již můžeme vyjádřit následující vztah mezi diferenciální plochou a diferenciálním úhlem :

Po substituci tedy

Kde

je tzv. geometrický člen, který zohledňuje orientaci daných ploch v prostoru a
je funkce viditelnosti.

Pozor: Neplést rovnici odrazu (jednoduchá rovnice popisující interakci světla s povrchem) se Zobrazovací rovnicí (integrální rovnice vyjadřující stav osvětlení v celé scéně - obecně těžko řešitelná).

Vyjádření pomocí integrálního operátoru[editovat | editovat zdroj]

Zavedení transportního operátoru[editovat | editovat zdroj]

Formálně vzato je zobrazovací rovnice integrální rovnicí druhého druhu, která v obecném tvaru vypadá takto:

V tomto tvaru je však typicky analyticky neřešitelná. Pro stručnější zápis integrálu si zavedeme operátor :, též transportní operátor. Chceme jej použít na funkci vycházející radiance , a proto tento operátor bude zobrazení z množiny funkcí do té samé množiny (kde je jednotková koule, tj. všechny směry). Transportní operátor definujeme jako:

a tedy tvar ZR se zjednoduší na

V této podobě vyjadřuje vztah množství světla, vyzářeného (primárními) zdroji světla, které dorazí na danou plošku.

Zápis zobrazovací rovnice řadou[editovat | editovat zdroj]

Ze vztahu

se můžeme pokusit rekurzivně vyjádřit , dosazením do téže rovnice získáváme díky linearitě operátoru

Dalšími iteracemi dospějeme ke vztahu

Pro dokonalou simulaci v rámci modelu (pak se tato řada nazývá Neumannova). Velmi důležité pozorování je, že je kontrakce, formálně řečeno . Míníme tím, že celkové množství světla se aplikací operátoru zmenší. To plyne přímo ze zákona zachování energie -- odražené paprsky můžou mít v součtu nejvýše stejnou energii jako ty dopadající (běžné materiály odráží nejvýše asi 80% dopadající světelné energie). Z toho vyplývá, že můžeme vyšší mocniny zanedbat a to, co nám zůstalo, už není integrální rovnice, ale jen konvergentní řada obsahující integrál, kterou umíme vyhodnocovat metodou Monte Carlo integrování.

Řešení Zobrazovací rovnice[editovat | editovat zdroj]

OpenGL[editovat | editovat zdroj]

OpenGL tuto rovnici neřeší, ale trochu ji obchází tím, že používá bodové světelné zdroje, čímž lze integrál zdiskretizovat do sumy. Výsledkem není ustálený stav scény.

Metoda konečných prvků (Finite element method)[editovat | editovat zdroj]

Metodou konečných prvků, anglicky Finite element method, tuto rovnici řešit lze, její řešení je však plné zjednodušení, takže například neuvažuje směrovost dopadajících paprsků nebo lesklé odrazy. Tento způsob řešení Zobrazovací rovnice se nazývá Radiozita a byla poprvé představena v r. 1984 C. Goralem. [3]

Sledování paprsku (Ray tracing)[editovat | editovat zdroj]

Metoda Sledování paprsku byla představena T.Whittedem v r. 1980. [4] Po dotazu na osvětlení na povrchu scény postupuje rekurzí a vrhá jeden světelný paprsek, takže počítá pouze příspěvky přímého osvětlení na difuzních plochách a ideální zrcadlové odlesky. Naopak neřeší nepřímé osvětlení na difuzních plochách ani např. měkké stíny.

Distribuované sledování paprsku (Distributed ray tracing)[editovat | editovat zdroj]

Metoda Distribuovaného sledování paprsku představená v r. 1984 R. Cookem[5] již používá k odhadu lokálního integrálu metodu Monte Carlo a dokáže si tak poradit s měkkými odrazy a stíny, hloubkou ostrosti aj.

Sledování cest (Path tracing)[editovat | editovat zdroj]

V dnešní době asi nejpoužívanější metodou řešení integrální Zobrazovací rovnice je metoda Sledování cest, kterou poprvé představil J. Kajiya v r. 1986. [6] Tato metoda používá k řešení metodu Monte Carlo a v podstatě simuluje dráhu jednoho paprsku formou náhodné procházky. Jde o metodu statisticky konzistentní a nevychýlenou (unbiased) a dokáže si poradit s nepřímým osvětlením, měkkými stíny, lesklými odrazy, atd.

Reference[editovat | editovat zdroj]

  1. Immel, David S.; Cohen, Michael F.; Greenberg, Donald P.(1986),"A radiosity method for non-diffuse environments",Siggraph 1986: 133, ISBN 0-89791-196-2 
  2. Kajiya, James T.(1986),"The rendering equation",Siggraph 1986: 143, ISBN 0-89791-196-2, http://www.cs.princeton.edu/courses/archive/fall02/cs526/papers/kajiya86.pdf 
  3. "Modeling the interaction of light between diffuse surfaces", C. Goral, K. E. Torrance, D. P. Greenberg and B. Battaile, Computer Graphics, Vol. 18, No. 3.
  4. Whitted T. (1979) An improved illumination model for shaded display. Proceedings of the 6th annual conference on Computer graphics and interactive techniques
  5. Robert L. Cook (1984) Distributed ray tracing. SIGGRAPH '84 Proceedings of the 11th annual conference on Computer graphics and interactive techniques, Pages 137 - 145
  6. Kajiya, J. T. (1986). "The rendering equation". Proceedings of the 13th annual conference on Computer graphics and interactive techniques, ACM. 

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