DGI/SUDOA - 060329 Rendering equation Belysningsmodeller (lokala och globala) Kort om texturer Den historiska utvecklingen 1. Enkla modeller som utvärderades genom att göra enkla bedömningar 2. Mera sofistikerade metoder a. Arbeta med fysiken b. Olika typer av avancerade knep och tekniker Globala - lokala belysningsmodeller I lokala belysningsmodeller tar man bara hänsyn till den aktuella ytan, var ljuskällan befinner sig och var betraktaren befinner sig. Man tar inte hänsyn till var andra objekt är, om de kan reflektera ljus vidare etc, vilket man alltså gör i globala belysningsmodeller Lokala belysningsmodeller Snabbt Blir ofta tillräckligt bra, man provar sig fram och bedömer resultatet Hårdvarustöd finns ofta Många effekter kan fejkas och läggas till 1
Globala belysningsmodeller Man får effekter som är svåra att ordna med lokala belysningsmodeller, såsom Skuggor Borttagning av skymda ytor Reflektioner (i flera steg) Genomskinlighet Mer sofistikerad belysning http://www.graphics.cornell.edu/research/intro/brdf.jpg Blinn, SIGGRAPH77 Blinn, SIGGRAPH77 Lokala belysningsmodell enligt Phong n r Tre termer som läggs ihop: Allmän ljus l θ θ φ v Diffus reflektion Spegelreflektion 2
Allmän ljus Diffus reflektion I a = k a L a 0< k a <1 I d = k d L d cosθ = k d L d (l o n) Spegelreflektion Phongs belysningsmodell I s = k s L s (cosφ) α = k s L s (r o v) α I = I a + I d + I s = k a L a + k d L d (l o n) + k s L s (r o v) α Med avståndsfaktor, d (attenuation): I = k a L a + 1/(a+b d+c d 2 ) (k d L d (l o n) + k s L s (r o v) α ) Phongs belysningsmodell och Phong shading är två olika saker! Polygon shading Flat shading buktiga objekt beskrivna av små polygoner Flat shading Gouraud shading Phong shading 3
Phong shading Gouraud shading n1 Gouraud shading n4 n n3 n2 2 1 n = Σnk/M (M=4 i detta exempel) Räkna ut intensiteten i hörnpunkten med Phongs belysningsmodell Phong shading 1. Interpolera intensiteter längs sidorna 2. Interpolera längs sveplinjerna Småuppgift nr 4 Diskutera med bänkgrannen Hur mycket mer arbete är det med Phong shading jämfört med Gouraud shading. Försök göra en grov uppskattning. Skicka din lösning till mig, lassekj@nada.kth.se, senast 060404 som word eller pdf-fil 1 Värde på tentan: 2p 1. Interpolera normaler längs sidorna 2. Interpolera normaler längs sveplinjerna 3. Beräkna intensiteten i varje pixel med interpolerad normal 4
Texture mapping Texture mapping Fotorealism Ray tracing (strålföljning) Man har som målsättning att göra bilder som ser ut som fotografier (som inte kan skiljas från fotografier) För detta behöver man normalt globala belysningsmodeller För varje stråle Skärm/bildyta Transmitterad stråle (ska följas rekursivt) Skuggstråle En stråle ska följas för varje pixel på skärmen Kamera/betraktare Inkommande stråle Reflekterad stråle (ska följas rekursivt) 5
Radiosity I radiosity antar vi att alla ytor strålar ut ljus, som vi summerar för att få totala intensiteten. Radiosity gör det möjligt att få med saker som saknas i strålföljning såsom diffusa ytor. Radiosity hanterar i sin grundform enbart diffus reflektion. Spegelreflektion får läggas till separat. Belysning enligt radiosity beräknas oberoende av betraktelsepunkt. Det betyder att betraktaren kan gå runt i scenen utan att belysningsberäkningarna behöver görs om. Enbart borttagning av skymda ytor måste göras om. Cornell, 1988 Diskretisera scenen Matrislösning B i = E i + ρ i Σ B j F j-i (A i /A j ) Total energi = emitterad energi + reflekterad energi Ekvationen ovan ger ett diagonaltungt linjärt ekvationssystem, som kan lösas med iterativa metoder. Alla små ytor får stråla på varandra Småuppgift nr 5 Diskutera följande med bänkgrannen I globala belysningsmodeller försöker man ersätta den enkla ekvationen I = I a + I d + I s Man kan säga att ray tracing respektive radiosity koncentrerar sig på att förbättra vissa termer i den enkla ekvationen ovan. Vilka/vilken för respektive metod? Exempel från Cornell http://www.graphics.cornell.edu/online/tutorial/radiosity/ Skicka din lösning till mig, lassekj@nada.kth.se, senast 060404 som word eller pdf-fil Värde på tentan: 2p 6
Ray tracing Radiosity Cornell, 1987 Kombination av Radiosity och Ray tracing 7