Phongův osvětlovací model

Phongův osvětlovací model je empirický (na fyzice nezaložený) osvětlovací model pro výpočet odraženého světla z povrchu nějakého objektu. Využívá se v počítačové grafice k vykreslování trojrozměrných scén. Jeho snahou je vykreslit dané těleso co nejrealističtěji, avšak za rozumnou dobu. Ačkoliv tento model není fyzikálně zcela přesný, výsledky, které podává, jsou natolik zdařilé, že se Phongův model v počítačové grafice široce využívá již několik desítek let, zejména pak pro svou rychlost našel uplatnění v real-time grafice. Jeho nevýhodou je, že nedokáže simulovat některé optické jevy globálního osvětlení, jako např. kaustiky ("prasátka").

Často bývá nesprávně zaměňován s Phongovým stínováním.

Historie

editovat

Phongův model byl navržen v roce 1973 vietnamským vědcem Bui Tuong Phongem v rámci jeho disertační práce [1][2] na univerzitě v Utahu.

 
Označení vektorů použitých ve vyhodnocení Phongova osvětlovacího modelu.

Realistického vzhledu při vykreslování trojrozměrných scén dosáhl Phong stanovením, že se odraz skládá ze tří světelných složek:

Okolní (ambientní) světlo (Ambient light)  

editovat

Okolní světlo udává intenzitu té části světla, která na těleso dopadá rovnoměrně ze všech směrů se stejnou intenzitou, jinými slovy označuje všesměrové konstantní osvětlení. Napodobuje tedy sekundární odražené a rozptýlené světlo vznikající mnohonásobnými odrazy od ostatních těles. Tomuto osvětlení se říká také globální. Okolní světlo zajišťuje, aby povrchy odvrácené od světelných zdrojů nebyly zcela černé, sama o sobě však nestačí pro vytvoření vzhledu trojrozměrné scény. Čím větší je její hodnota, tím větší je celková světlost scény.

Odraz ambientního světla je určen vztahem  ,

kde   označuje intenzitu okolního osvětlení scény a   je odrazivý koeficient materiálu objektu určující schopnost povrchu odrážet okolní světlo. Jeho nulová hodnota znamená, že se ambientní složka od povrchu vůbec neodráží a naopak pro hodnotu jedna, že se světlo od povrchu odráží zcela.

Tato veličina bývá v empirických modelech konstantní pro celou scénu a proto přispívá stejným množstvím osvětlení všem objektům ve scéně.

Difúzní světlo (Diffuse light)  

editovat

Difúzní složka udává intenzitu té části světla, která se od matného povrchu tělesa rovnoměrně odráží do všech směrů a její použití již vytváří trojrozměrný vzhled ve scéně. Je invariantní vůči směru pohledu, protože difúzní povrch odráží světlo rovnoměrně do všech směrů. Množství odraženého světla   závisí na směru dopadu světla  . Čím více se směr dopadu blíží normále povrchu  , tím větší je množství odraženého světla. Tento jev popisuje Lambertův zákon.

Difúzní složku vypočítáme podle vztahu  ,

kde   označuje intenzitu difúzního osvětlení scény,   je podobně jako u okolního světla odrazivý koeficient materiálu, N je normála povrchu v místě dopadu paprsku a   je příchozí směr, odkud dopadá na povrch světlo. Operátor   značí skalární součin vektorů. Jestliže  , znamená to, že je povrch odvrácený od světla a difúzní složka   je tudíž nulová.

Lesklé světlo (Specular light)  

editovat

Lesklá složka udává intenzitu té části světla, která se od tělesa odráží převážně v jednom směru podle zákona odrazu.

Lesklou složku vypočítáme podle vztahu  ,

kde   označuje intenzitu odlesků,   je odrazivý koeficient určující míru zastoupení odražené lesklé složky v celkovém odraženém světle,   je směr, odkud povrch pozorujeme a   je světlo odražené na povrchu podle zákona odrazu. Je určeno vztahem   Operátor   opět značí skalární součin vektorů a Phongův exponent   určuje ostrost zrcadlového odrazu (jinými slovy míru lesklosti). Čím je   vyšší, tím jsou odlesky na povrchu tělesa menší, ale intenzivnější.

 
Světelné složky Phongova osvětlovacího modelu

Celková intenzita odrazu   je pak dána vzorcem  , který slovy říká, že celkový odraz se skládá z ambientní, difúzní a lesklé složky.

Takto definovaný Phongův model ale není fyzikálně korektní, protože nesplňuje základní požadavky na vlastnosti BRDF. Porušuje symetrii a taktéž pro něj neplatí zákon zachování energie.

Fyzikálně korektní Phongův osvětlovací model

editovat
 
Schéma v radiometrickém názvosloví ilustrující chování světla po dopadu světla na nějaký povrch.

Potřeba vykreslovat počítačovou grafiku nejenom hezky, ale také fyzikálně korektně, vedla k výzkumu [3], jak na tom stávající světelné modely jsou, zaměříme-li se na ně z radiometrického pohledu. Fyzikálně korektní model by měl splňovat vlastnosti dvousměrové distribuční funkce odrazu (BRDF), která slouží k matematickému popisu odrazivých vlastností povrchu v určitém bodě.

Model nejprve uvedeme v radiometrickém názvosloví. Jak je patrné z následující rovnice, vynechali jsme ambientní složku odrazu. Ta se v původním modelu snaží napodobovat globální osvětlení konstantním osvětlením scény, což ale není fyzikálně korektní.

 

Přehled změny pojmenování jednotlivých prvků
Radiometrické názvosloví Původní Phongův model Význam
    odpovídá celkové vyzářené záři (radianci)   v odchozím směru  
    značí jednotnou intenzitu příchozího světla ze směru  
    skalární součin normálového vektoru a vektoru určující směr přicházejícího světla
    skalární součin vektoru odraženého paprsku a vektoru určující směr k pozorovateli,   značí Phongův exponent


Podělením rovnice   faktory   a   (které jsou součástí integrandu rovnice odrazu a tudíž by se neměly vyskytovat v BRDF) získáme analytické vyjádření BRDF, jež odpovídá původnímu osvětlovacímu Phongovu modelu, které označíme   [4]

 

Můžeme si povšimnout, že rovnice nesplňuje základní požadavky na vlastnosti BRDF – není symetrická (nesplňuje podmínku reciprocity) vůči svým parametrům   a   a rovněž pro ni neplatí ani zákon zachování energie (např. pro   by takto definovaná BRDF odpovídala povrchu, který odráží více světelné energie, než na něj dopadá).

Podmínku reciprocity splníme odstraněním  , což je jediný člen, který není symetrický vůči záměně příchozí a odchozího směru   a  . Máme tedy  

Aby BRDF zachovávala energii, musí být její hemisféricko-směrová odrazivost ≤ 1. Spočítáme-li hemisféricko-směrovou odrazivost pro   (za předpokladu, že odchozí směr je roven normále povrchu, tj.  )

 

vidíme, že difúzní složka má odrazivost   a lesklá  . Pro zachování energie stačí přidat podmínku, že  .

Nyní z předchozích vzorců vyjádříme   a  

 

 

a po dosazení do   získáváme fyzikálně korektní BRDF Phongova modelu  

 

Stále se však jedná o empirickou BRDF funkci.

Reference

editovat
  1. Bui Tuong Phong, Illumination of Computer-Generated Images, Department of Computer Science, University of Utah, UTEC-CSs-73-129, July 1973.
  2. Bui Tuong Phong, "Illumination for Computer Generated Pictures," Comm. ACM, Vol 18(6): 311–317, June 1975.
  3. Making Shaders More Physically Plausible – Robert R. Lewis (1993)
  4. Poznámky z předmětu Počítačová grafika III – 4. přednáška, Čestmír Houška