osvetljevanje sencenje
DESCRIPTION
sencenjeTRANSCRIPT
Osvetljevanje in senčenje
(lighting - shading)
“Osvetljevanje”
Dve komponenti: Model osvetljevanja ali
Model senčenja – kako računamo intenzivnost točke na površini
Metoda upodabljanja ploskev – Kako računamo intenzivnost v vsakem pikslu
Lastnosti snovi
Barva ambienta Difuzna barva Barva odsevanja Sijaj Barva oddajane
svetlobe
Modeli osvetljevanja
Ambient Normale niso pomembne
Lambert/Difuzna barva Kot med normalo ploskve in lučjo
Phong/Odsev Normala na ploskev, vpadni kot luči, gledišče
Enačba upodabljanja
S
dxxxIxxxxxxxgxxI '''',''',',',',',
Svetloba okolja (ambient color)
Predstavlja približen prispevek svetlobe k splošni sceni ne glede na položaj luči in predmetov.
Indirektni odboji, ki so preveč kompleksni, da bi jih v celoti in natančno izračunali.
Iambient = color
Difuzni odboj
Igra pomembno vlogo pri barvi, ki jo zaznamo na nekem predmetu
Nanj vpliva barva vpadajoče difuzne svetlobe in kot vpadne svetlobe glede na normalo ploskve
Položaj očesa ne vpliva na difuzni odboj Difuzne površine so, mikrosopsko gledano, zelo
grobe. To pomeni, da ima vpadni žarek svetlobe enako možnost odboja v katerokoli smer.
Vpadni žarki Odbiti žarki
Osvetlitev površine – svetlost predmeta
Video
Model difuzne svetlobe
Lambertov kosinusni zakon
m v
s
P
cosdsd pII
msms cospri tem je
msms
pII dsd ,0max
pd : koeficient difuznega odboja
Jakost svetlobe, odbite od popolnega difuzorja, je sorazmerna cos (Θ) kota med smerjo vpadne svetlobe in normalo na ploskev.
Zrcalni odboj (specular color)
Zrcalni odboj lahko obravnavamo kot odsev na plastičnem ali celo kovinskem predmetu.
N
L
R
V
Bleščeči in motni predmeti
Phongov Model
Približek jakosti zrcalnega odboja je sorazmerje z (cos )n
Ispecular = ksIlight (cos )n
= ksIlight (V.R)n
Video
Phongov model senčenja
Phongov model
m v
s
P
fsssp pII cos
f
f
vrvr
cos
pri tem je
f
sssp vrvr
pII ,0max
ps : Koeficient zrcalnega odboja
r
mm
mssr 22
Količina odbite svetlobe je največja v smeri popolnega zrcalnega odboja. pri majhnih kotih se količina odbite svetlobe light, Isp spreminja sorazmerno s cos f() .
Kombinacija svetlobe
Kar vidi gledalec = Ambientna svetloba + Difuzna svetloba + Zrcalna svetloba
phongpIlambertpIpII ssdsas
OpenGL na primer omogoča specifikacijo različnih jakosti za vse tri vire svetlobe
phongpIlambertpIpII sspdsdasa
Isa, Isd, Isp : nastavitev za vsako luč v okolju
pa, pd, ps : nastavitev za vsako snov v okolju
Ambientna + difuzna + zrcalna
Žarenje (emission)
Predmet izžareva svetlobo primeri: luči v prostoru, luči na cesti ipd.
Slabljenje (attenuation)
Upoštevati moramo še, da luči bolj osvetljujejo ploskve, ki so bližje.
Energija slabi z oddaljenostjo od točkovnega vira svetlobe sorazmerno z 1/d2.
RGB vrednosti za luči in snov
RGB vrednosti luči kažejo jakost svetlobe RGB vrednosti za snov nakazujejo odbite
količine teh barv
phongpIlambertpIpII ssprdsdrasarr
phongpIlambertpIpII sspgdsdgasagg
phongpIlambertpIpII sspbdsdbasabb
Senčenje (shading)
Senčenje pove, kako “pobarvamo” trikotnik.
Senčenje (shading)
Plosko senčenje (Flat shading)
Poudari posamezne poligone Mehko senčenje (Smooth shading)
Mehča robove med poligoni– Gouradovo senčenje– Phongovo senčenje
Modeli senčenja (direktna svetloba)
Plosko senčenje Računamo Phongovo osvetljevanje enkrat za celoten
poligon
Gouraudovo senčenje Računamo Phongovo osvetljevanje v verteksih in
interpoliramo osvetlitev vzdolž poligona
Phongovo senčenje Računamo povprečja normal verteksov Interpoliramo normale vzdolž poligona in izvedemo
Phongovo osvetljevanje vzdolž poligona
Plosko, konstantno senčenje
Plosko senčenje, konstantna jakost Ena barva za cel trikotnik. Barvo izračunamo za en verteks in
uporabimo na celem poligonu Hitro Dobro za nekatere predmete Kaj se zgodi, če so trikotniki majhni? Nenadna sprememba jakosti na robovih Zrcalni odboji so slabo predstavljeni
Mehko senčenje (Gouraud)
Barva je linearno interpolirana od verteksov Zrcalni odboji (specular) so prikazani
interpolirano
Gouraudovo senčenje
Senčenje z interpolacijo jakosti Računamo osvetlitev v verteksih. Nato interpoliramo
barve med postopkom “scan convert” Relativno hitro, le tri računanja
Gouraudovo senčenje
Slabo povprečenje verteksov
Mehko senčenje (Phong)
Phong
Interpolacija vektorjev normal za vsako točko na stranicah predmeta
Bolj realistično, vendar računsko bolj intenzivno
Interpolacija normal, saj te predstavljajo “ukrivljenost”
Linearna interpolacija normal verteksov. Za vsak piksel, (med postopkom “scan convert”) računamo osvetljenost piksla.
Phongovo senčenje
Phongovo osvetljevanje (lighting): je empirični model za izračun osvetlitve točke na površini
Phongovo senčenje (shading): pomeni linearno interpolacijo normal ploskve in pri tem uporabo Phongtovega osvetljevanja za vsak piksel Isti vhodni podatki kot za Gouraudovo senčenje Običajno dobimo zelo mehko sliko: Vendar, stvar je časovno potratna
Phongovo senčenje NI isto kot Phongovo osvetljevanje, čeprav ju včasih zamenjujejo
Primerjava Gouraud:Phong
Senčniki (Shaders)
Lokalna osvetlitev je kompleksna Modeli odboja Proceduralne teksture Trdne teksture Sheme izbočenosti (Bump maps) Sheme odmikov (displacement maps) Preslikave okolja (Environment maps)
Vse to hočemo združiti v enoten opis senčenja. Temu pravimo senčnik (shader)
Senčniki še opisujejo Luči (na primer žaromete) Atmosfero (na primer meglo)
Senčenje v realnem času
Moorov zakon : Moč CPE se podvoji vsakih18 mesecev Napredki v materialih Napredki v metodah Napredki pri trženju
Grafična verzija: GPE moč se podvoji vsakih 6 mesecev Podpora bolj sofisticiranim senčenjem, čeprav včasih na
nenavadne načine (n.pr. Nenavadna uporaba teksturnih preslikav)