empirijski i prelazni modeli - Zemris - FER
empirijski i prelazni modeli - Zemris - FER empirijski i prelazni modeli - Zemris - FER
8. Modeli i postupci osvjetljavanja, sjenčanje, sjene PODJELA MODELA OSVJETLJAVANJA I PRIPADNIH POSTUPAKA SJENČANJA EMPIRIJSKI MODELI • temelje se na iskustvu i estetskim aproksimacijama • npr. jednostavni model osvjetljavanja (lokalni) • u postupcima sjenčanja koji ga koriste Gouraud ‘71 i Phong ‘75. PRELAZNI MODELI • uključuju prozirnost, zrcaljenje i sjene, geometrijski egzaktan • npr. Whittedov model ‘80. • koristi se u postupku sjenčanja pretrage zrake (engl. ray tracing) ANALITIČKI MODELI • temelji se na energetskoj ravnoteži • npr. model Cook-Torrancea ‘ 82 i Goralov model ‘ 84. • koristi se u postupku isijavanja (engl. radiosity method) Ž. Mihajlović, ZEMRIS, FER 8-1
- Page 2 and 3: HIBRIDNI MODELI • integriraju pos
- Page 4 and 5: 8.1. EMPIRIJSKI MODEL OSVIJETLJENJA
- Page 6 and 7: I d = k I cos θ, 0 ≤ k ≤1, 0
- Page 8 and 9: ZRCALNA KOMPONENTA (engl. specular
- Page 10 and 11: Za realne blještave površine imam
- Page 12 and 13: POSTUPCI SJENČANJA Konstantno sjen
- Page 14 and 15: Gouraud-ovo sjenčanje (interpolaci
- Page 16 and 17: Phong-ovo sjenčanje (interpolacija
- Page 18 and 19: Problemi u postupku sjenčanja •
- Page 20 and 21: doprinosi zrcaljenja i loma svjetlo
- Page 22 and 23: Određivanje reflektirane i lomljen
- Page 24 and 25: ekurzivna formula za računanje int
- Page 26 and 27: nema difuzne komp. difuzna komponen
8. Modeli i postupci osvjetljavanja, sjenčanje, sjene<br />
PODJELA MODELA OSVJETLJAVANJA I<br />
PRIPADNIH POSTUPAKA SJENČANJA<br />
EMPIRIJSKI MODELI<br />
• temelje se na iskustvu i estetskim aproksimacijama<br />
• npr. jednostavni model osvjetljavanja (lokalni)<br />
• u postupcima sjenčanja koji ga koriste Gouraud ‘71 i Phong ‘75.<br />
PRELAZNI MODELI<br />
• uključuju prozirnost, zrcaljenje i sjene, geometrijski egzaktan<br />
• npr. Whittedov model ‘80.<br />
• koristi se u postupku sjenčanja pretrage zrake (engl. ray tracing)<br />
ANALITIČKI MODELI<br />
• temelji se na energetskoj ravnoteži<br />
• npr. model Cook-Torrancea ‘ 82 i Goralov model ‘ 84.<br />
• koristi se u postupku isijavanja (engl. radiosity method)<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-1
HIBRIDNI MODELI<br />
• integriraju postupak pretrage zrake i postupak isijavanja<br />
• npr. Wallace ‘ 87.<br />
Prema modelu osvjetljavanja u pojedinoj točki računa se osvjetljenje<br />
• interakcija svjetla i površine<br />
• složena priroda svjetlosti i površine (različito reflektiranje raznih valnih<br />
duljina, ista valna duljina različito reflektirana ovisno o kutu)<br />
Sjenčanje (engl. shading) dio je postupka izrade prikaza (engl. rendering).<br />
Izvori svjetla<br />
• točkasti, linijski, poligonalni, reflektori (usmjereni).<br />
Materijali - površine<br />
• hrapave (mat), glatke (sjajne), prozirne<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-2
Svjetlost<br />
• stvaranje modela kako bi mogli ostvariti simulaciju (propagacija svjetlosti i<br />
interakcija s površinom)<br />
– geometrijska optika – skup svjetlosnih zraka – bez mase i dimenzije<br />
refleksija, refrakcija (glatke plohe – zrcalna komp., hrapave - difuzna)<br />
odsjaj jednog objekta u drugom ili samo boje objekta<br />
– fizikalna optika – elektromagnetsko zračenje – širenje vala<br />
difrakcija (ogib svjetlosti), interferencija (npr. dugine boje na CD),<br />
polarizacija svjetlosti (transverzalni val)<br />
– kvantna fizika – skup čestica tj. fotona – ‘paketići’ energije<br />
sudar fotona s elektronom i prijelaz u višu energetsku razinu – boja,<br />
ispodpovršinsko raspršenje<br />
• različiti <strong>modeli</strong> koji aproksimiraju ponašanje svjetla<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-3
8.1. EMPIRIJSKI MODEL OSVIJETLJENJA<br />
( Phongov model)<br />
TRI KOMPONENTE<br />
• ambijentna<br />
• difuzna<br />
• zrcalna<br />
AMBIJENTNA KOMPONENTA<br />
I = k a<br />
I a<br />
• k a koeficijent reflektirane ambijentne svjetlosti (ovisi o materijalu)<br />
• I a intenzitet ambijentne svjetlosti<br />
Reflektiranje svih poligona okolnog prostora. Aproksimacija globalnog osvjetljenja.<br />
Ukoliko ova komponenta nije prisutna stražnji poligoni obzirom na izvor svjetla<br />
bit će crni.<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-4
DIFUZNA KOMPONENTA (engl. diffuse reflection)<br />
LAMBERT-OV ZAKON<br />
Djelić površine dS rasvijetljen je proporcionalno kosinusu kuta pod<br />
kojim snop svjetlosti upada na površinu.<br />
Količina svjetlosti koju vidi promatrač neovisna o položaju promatrača<br />
i proporcionalna je kosinusu kuta između normale na površinu i vektora<br />
prema izvoru.<br />
LIGHTPOSITION<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-5
I<br />
d<br />
= k I cos θ, 0 ≤ k ≤1,<br />
0 ≤θ<br />
≤90<br />
d<br />
p<br />
d<br />
o<br />
• k d<br />
koeficijent difuzne refleksije<br />
• I p<br />
intenzitet točkastog izvora<br />
• θ kut izmeñu normale na površinu i vektora prema izvoru<br />
izvor<br />
l r<br />
θ<br />
n r<br />
I<br />
d<br />
r r<br />
= kd<br />
I<br />
p max ( l ⋅ n ,0)<br />
r<br />
• l normirani vektor prema izvoru svjetlosti<br />
•<br />
r<br />
n normirani vektor normale na površinu<br />
• http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/dotPr<br />
oduct/dot_product_java_browser.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-6
I<br />
=<br />
U praksi moramo uzeti u obzir i udaljenost izvora do površine d L<br />
.<br />
r r<br />
l ⋅ n<br />
kaI<br />
a<br />
+ kd<br />
I<br />
p 2<br />
d<br />
L<br />
I<br />
= k<br />
Bolje rezultate dobit ćemo formulom<br />
a<br />
I<br />
a<br />
+ k<br />
d<br />
I<br />
p<br />
r r<br />
l ⋅ n<br />
d + k<br />
L<br />
• k iskustvena konstanta<br />
I<br />
R<br />
U slučaju potpunog modela boja, komponente se posebno računaju:<br />
r r<br />
l ⋅ n<br />
= kaOdRI<br />
aR<br />
+ kdOdR<br />
I<br />
pR<br />
d + k<br />
L<br />
• O dR<br />
definira komponentu boje objekta<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-7
ZRCALNA KOMPONENTA (engl. specular reflection)<br />
Zrcalna refleksija nastaje na blještavoj površini.<br />
Blještavilo (engl. highlight) obojeno je bojom upadne svjetlosti.<br />
l r n r r θ α<br />
v r<br />
I<br />
s<br />
n r r n<br />
cos α ( ⋅v<br />
)<br />
= ksI<br />
p<br />
= ksI<br />
p<br />
d<br />
L<br />
+ k d<br />
L<br />
+ k<br />
• r<br />
vektor usmjeren u pravcu reflektirane zrake r - reflektirana zraka<br />
• r<br />
v<br />
vektor prema očištu<br />
• α kut između reflektirane zrake i zrake prema očištu<br />
• k s<br />
koeficijent zrcalne refleksije<br />
• n određuje prostornu razdiobu i vezan je uz materijal<br />
•http://micro.magnet.fsu.edu/primer/java/reflection/reflectionangles/index.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-8
u praksi se često koristi vektor h, odnosno produkt hn umjesto<br />
vektora r, odnosno produkta rv<br />
r<br />
v<br />
r<br />
l + v<br />
h =<br />
2<br />
l r n r h r v r<br />
• jednostavno se računa<br />
• ukoliko pretpostavimo da su promatrač i izvor vrlo daleko tj.<br />
vektore možemo smatrati konstantnima, konačna jednadžba ovisit će<br />
samo o normali na površinu<br />
I<br />
s<br />
= k<br />
s<br />
I<br />
p<br />
r<br />
( h ⋅n<br />
)<br />
d<br />
L<br />
r<br />
n<br />
+ k<br />
http://www.cs.princeton.edu/~min/cs426/jar/light.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-9
Za realne blještave površine imamo nepotpunu zrcalnu refleksiju.<br />
(Phong, 1975)<br />
I<br />
s<br />
= k<br />
s<br />
I<br />
p<br />
n<br />
cos α<br />
d + k<br />
L<br />
= k<br />
s<br />
I<br />
p<br />
r<br />
( r ⋅v<br />
)<br />
d<br />
L<br />
r<br />
n<br />
+ k<br />
Funkcija cos n α:<br />
LIGHTMATERIAL<br />
n = 1 n = 15 n = 30 n = 45 n = 60<br />
PLASTIKA ⇔ METAL<br />
http://micro.magnet.fsu.edu/primer/java/reflection/specular/index.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-10
I<br />
Opća jednadžba proračuna osvjetljenja za slučaj m izvora:<br />
r r<br />
r r<br />
( l ⋅ n) I<br />
m<br />
( ⋅v<br />
)<br />
⎡ m<br />
j p,<br />
j<br />
= kaIa<br />
+ ⎢kd∑ + ks∑<br />
⎢⎣<br />
j= d<br />
L,<br />
j<br />
+ k j=<br />
1 1 L,<br />
j<br />
d<br />
j<br />
n<br />
I<br />
+ k<br />
p,<br />
j<br />
⎤<br />
⎥<br />
⎥⎦<br />
I<br />
R<br />
Sjenčanje u boji (primjer komponente crvene boje):<br />
r r<br />
r r<br />
( l ⋅ n) I<br />
m<br />
( ⋅v<br />
)<br />
⎡ m<br />
j p,<br />
j<br />
= kaOdRI<br />
aR<br />
+ ⎢kdOdR∑ + ksOsR∑<br />
⎢⎣<br />
j= d<br />
L,<br />
j<br />
+ k<br />
j=<br />
1 1 L,<br />
j<br />
d<br />
j<br />
n<br />
I<br />
p,<br />
j<br />
+ k<br />
⎤<br />
⎥<br />
⎥⎦<br />
ambijentna difuzna zrcalna ukupno<br />
http://www.cs.technion.ac.il/~cs234325/Applets/applets/shadingmodel/html/index.html<br />
http://wwwcg.in.tum.de/common/applets/Systementwicklungsprojekt.html/phong/Neuer%20Ordner/phong2.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-11
POSTUPCI SJENČANJA<br />
Konstantno sjenčanje<br />
Sve točke površine unutar jednog poligona imaju isti intenzitet.<br />
To znači da je za neki poligon<br />
r r r r<br />
l ⋅ n = konst. ⋅v<br />
= konst.<br />
l r<br />
θ<br />
n r<br />
r r v r α<br />
http://www.neilwallis.com/projects/java/early3d<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-12
određivanje normala u vrhovima:<br />
• odreñivanje normala svih poligonskih površina<br />
• aritmetička sredina normala poligona incidentnih s vrhom<br />
n r 1<br />
2<br />
n r A<br />
n r 3<br />
n r<br />
4<br />
n r<br />
r r v v<br />
v n + n2<br />
+ n3<br />
+<br />
n A<br />
=<br />
4<br />
1<br />
n4<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-13
Gouraud-ovo sjenčanje (interpolacija intenziteta):<br />
• u svakom vrhu poligona računa se intenzitet<br />
I C<br />
n r C<br />
I B<br />
n r<br />
B<br />
n r<br />
D<br />
I D<br />
I<br />
A<br />
n r<br />
A<br />
• dobivene intenzitete linearno interpoliramo<br />
Sjecišta ispitne linije s bridovima neka su Q, R<br />
interpoliranje duž bridova<br />
I<br />
I<br />
Q<br />
R<br />
AQ<br />
= ( 1−<br />
u)<br />
I<br />
A<br />
+ u I<br />
B,<br />
u =<br />
AB<br />
DR<br />
= ( 1−<br />
v)<br />
I<br />
D<br />
+ v IC<br />
, v =<br />
DC<br />
interpoliranje unutar poligona<br />
I R<br />
I C<br />
I B<br />
( 1−<br />
t)<br />
I<br />
P<br />
= I<br />
R<br />
+ t IQ,<br />
t =<br />
RP<br />
RQ<br />
v<br />
I D<br />
t<br />
I<br />
P<br />
I A<br />
u<br />
I Q<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-14
I<br />
I<br />
P1<br />
I<br />
P2<br />
P2<br />
• inkrementalni oblik<br />
=<br />
=<br />
=<br />
( 1−<br />
t1<br />
) I<br />
R<br />
+ t1<br />
IQ,<br />
(1)<br />
( 1−<br />
t2<br />
) I<br />
R<br />
+ t2<br />
IQ,<br />
(2)<br />
I + ( I − I )( t − t ) = I + ∆I<br />
∆t<br />
(2) − (1)<br />
P1<br />
Q<br />
R<br />
2<br />
P1<br />
• nedostatak postupka je Machov vizualni učinak (svijetle i tamne pruge)<br />
•http://www.sandlotscience.com/Guided_Tours/Tour2/Tour2_4.htm<br />
1<br />
http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-96to97/anson/MachBandingApplet/<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-15
Phong-ovo sjenčanje (interpolacija normala):<br />
• izračunamo normale u vrhovima<br />
• interpoliramo normale duž bridova<br />
• interpolirmo dobivene normale duž ispitne linije<br />
• intenzitet izračunamo na kraju<br />
n r C<br />
v<br />
n r<br />
D<br />
n r<br />
R<br />
t<br />
n r P<br />
I P<br />
n r<br />
A<br />
n r<br />
Q<br />
u<br />
I Q<br />
n r<br />
B<br />
r r r AQ<br />
n<br />
n ( u)<br />
( 1−<br />
t)<br />
= 1−<br />
n + u n , u =<br />
r<br />
n<br />
Q<br />
R<br />
=<br />
( 1−<br />
v)<br />
r<br />
n<br />
A<br />
D<br />
r<br />
+ v n<br />
B<br />
C<br />
, v =<br />
AB<br />
DR<br />
DC<br />
r r r<br />
P<br />
= nR<br />
+ t nQ<br />
, t =<br />
inkrementalnioblik :<br />
r r<br />
n = n +<br />
P2<br />
P1<br />
RP<br />
RQ<br />
r r<br />
( n − n )( t − t )<br />
Q<br />
R<br />
2<br />
1<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-16
• Phong-ovo sjenčanje je bolje od sjenčanja Gouraud<br />
• sporije je (za svaki slikovni element treba odrediti v, l, r, I )<br />
• umanjuje Mach-ov vizualni učinak<br />
http://olli.informatik.uni-oldenburg.de/Grafiti3/grafiti/flow12/page12.html<br />
http://www.anlonchen.com/cs/CS263Applet/Renderer.html<br />
anizotropni učinak<br />
Složeniji <strong>modeli</strong>:<br />
http://www.graphics.cornell.edu/~westin/multimedia-paper/node9.html#SECTION0006<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-17
Problemi u postupku sjenčanja<br />
• silueta objekta - broj poligona<br />
• rotaciona ovisnost<br />
100<br />
0<br />
0 0<br />
100 100<br />
• normale u vrhovima<br />
100<br />
0<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-18
8.2. PRELAZNI MODELI<br />
WHITTEDOV MODEL OSVJETLJAVANJA<br />
I = k<br />
Intenzitet koji dolazi do promatrača iz točke na površini funkcija je intenziteta<br />
• ambijentne svjetlosti<br />
• difuzno odbijene svjetlosti<br />
• zrcalno odbijene svjetlosti (intenzitet sa susjednih površina kao posebnih izvora)<br />
• lomljena svjetlost<br />
a<br />
I<br />
a<br />
+ k<br />
d<br />
m<br />
∑<br />
i=<br />
1<br />
I<br />
pi<br />
r<br />
( l ⋅ n)<br />
i<br />
r<br />
+ k<br />
+ k<br />
• I pi<br />
intenzitet i-tog točkastog izvora<br />
• k s<br />
koeficijent zrcalnog odbijanja<br />
• I s<br />
intenzitet zrcalno odbijene svjetlosti<br />
• k t<br />
koeficijent lomljene svjetlosti<br />
• I t<br />
intenzitet lomljene svjetlosti<br />
• http://micro.magnet.fsu.edu/primer/java/scienceopticsu/polarizedlight/brewster/index.html<br />
s<br />
I<br />
s<br />
t<br />
I<br />
t<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-19
doprinosi zrcaljenja i loma svjetlosti<br />
v r α<br />
l r n r<br />
i<br />
r α<br />
I s<br />
− n r<br />
I t<br />
I<br />
=<br />
k<br />
I<br />
+ k<br />
m<br />
∑<br />
I<br />
( l ⋅ n)<br />
+ k<br />
+ k<br />
a a d pi i s s t<br />
i=<br />
1<br />
http://www.phy.ntnu.edu.tw/ntnujava/index.phptopic=49.0<br />
r<br />
r<br />
I<br />
I<br />
t<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-20
• postupak se sastoji od određivanja slikovnog elementa pogođenog<br />
zrakom od promatrača (kroz ravninu projekcije) i praćenja zrake dalje u<br />
scenu<br />
• kod svakog pogotka objekta u sceni postupak se rekurzivno nastavlja za<br />
reflektiranu I s<br />
(primarnu zraku) i lomljenu I t<br />
(sekundarnu) zraku<br />
• postupak se završava kada zraka izađe iz scene bez pogotka ili na<br />
unaprijed zadanoj dubini rekurzije (3-10)<br />
• ukoliko postoji prepreka između izvora i točke u kojoj računamo<br />
osvjetljenje tada neki drugi objekt baca sjenu na promatranu točku<br />
I s<br />
l r n r r r v r slikovni el.<br />
u ravnini projekcije<br />
http://www.siggraph.org/education/materials/HyperGraph/raytrace/rt_java/raytrace.html I t<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-21
Određivanje reflektirane i lomljene zrake<br />
• određivanje reflektirane zrake – slično kao kod zrcalne komponente<br />
normiramo vektore (duljina je jedan)<br />
projekcija vektora l na n je vektor p<br />
r<br />
r r r<br />
p ( l n) n<br />
r r r r<br />
( p − l ) + l = p − l<br />
r = θ θ<br />
l r<br />
p r<br />
r<br />
= 2 2<br />
• određivanje lomljene zrake<br />
– Snell-ov zakon loma<br />
n r<br />
r r<br />
sin<br />
sinθ<br />
θ 1 2<br />
n 1<br />
2<br />
n<br />
=<br />
n<br />
1<br />
θ 1<br />
n r<br />
θ 2<br />
n 2<br />
http://micro.magnet.fsu.edu/primer/java/refraction/criticalangle/index.html<br />
http://www.phy.ntnu.edu.tw/ntnujava/viewtopic.phpt=218<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-22
• STABLO ZRAKE<br />
N normala na površinu<br />
R reflektirana zraka<br />
L zraka sjene<br />
T lomljena zraka<br />
• http://www.cs.technion.ac.il/~cs234325/Applets/doc/html/etc/AppletIndex.html (http://www.cs.technion.ac.il/~cs234325/)<br />
• http://www.gris.uni-tuebingen.de/edu/projects/grdev/doc/html/Overview.html<br />
• http://www.cs.technion.ac.il/~cs234325/Applets/NewApplets/experiments/raycasting.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-23
ekurzivna formula za računanje intenziteta<br />
• koeficijenti s oznakom k+1 koeficijenti su konkretne površine<br />
na dubini k+1<br />
I<br />
( k ) ( k + ) ( k + 1) ( k + 1) ( k + 1) ( k + 1)<br />
=<br />
k<br />
a<br />
m<br />
1 r<br />
I<br />
a<br />
+ kd<br />
∑ I<br />
pi i<br />
i=<br />
1<br />
nedostaci postupka<br />
r<br />
( )<br />
( k + 1) ( k + 1) ( k + 1) ( k + 1)<br />
l ⋅ n + k I + k I<br />
• 75-95 % vremena troši se na određivanje sjecišta zrake i poligona<br />
⇒ koriste se minimaks provjere s kvadrima ili kuglama, oktalna stabla,<br />
BSP stabla kako bi se smanjio utrošak vremena na računanje sjecišta<br />
• postupak svejedno ostaje vremenski zahtjevan<br />
s<br />
s<br />
t<br />
t<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-24
nedostaci<br />
• pojava aliasa<br />
⇒ povećano uzorkovanje – 4, 9, po razdiobi, adaptivno)<br />
http://www.povray.org/<br />
http://wwwcg.in.tum.de/fileadmin/user_upload/Lehrstuehle/Lehrstuhl_XV/Teaching/Applets/<br />
applets/raytrace/Tracer.html<br />
http://www.pixellove.eu/wega/<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-25
nema difuzne komp.<br />
difuzna komponenta<br />
zrcaljenje okoliša<br />
proziran objekt<br />
bačene sjene, reflektor<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-26
Kaustika http://graphics.ucsd.edu/~henrik/images/cbox.html<br />
http://www.math.harvard.edu/archive/21a_spring_06/exhibits/coffeecup/index.html<br />
Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-27