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