Uklanjanje stražnjih
poligona u sustavu scene možemo načiniti na osnovi promatranja kuta
između vektora normale ravnine u kojoj "leži" poligon i vektora od
središta (težišta) promatranog poligona do očišta. Ako su vektori
normala svih poligona usmjereni u unutrašnjost tijela kut između
promatranih vektora određuje da li je poligon stražnji ili nije tj. ako je kut :
0o- 90o onda je poligon stražnji,
90o- 180o onda poligon nije stražnji
Kut između dva vektora V1=A1a+B1b+C1c i V2=A2a+B2b+C2c računa se na slijedeći naćin :
ArcCos( (A1*A2 + B1*B2 + C1*C2) / ( (A12+B12+ C12)0.5 * (A22+B22+C22)0.5))
Model osvjetljavanje
nam omogućuje određivanje intenziteta u pojedinim točkama. Phongov
model osvjetljavanja čini jednostavnu aproksimaciju fizikalnog modela.
Phongov model sadrži linearnu kombinaciju tri komponente: ambijentnu,
difuznu i zrcalnu, tj. zbroj sve tri komponente Ig, Id i Is.
Ambijentna
Ambijentna komponenta predstavlja aproksimaciju doprinosa refleksije svih površina u sceni i jednaka je:
Ig = Iaka, gdje je Ia intenzitet na zaklonjenim plohama, a ka koeficijent između [0, 1].
Difuzna
Difuzna komponenta je jednaka:
Id = Iikdcos(Fi), 0<=Fi<=180
Ii je intenzitet točkastog izvora, Fi kut između normale na površinu i vektora prema izvoru, kd je empirijski koeficijent refleksije (0<=kd<=1).
Zrcalna
Zrcalna komponenta nije razmatrana u sklopu ove implementacije. Za više od zrcalnoj komponenti vidi predavanja.
U modelu osvjetljavanja potrebno je poznavati
normale u vrhovima tijela, kako bi se moglo linearno interpolirati
uzduž bridova te potom unutar samog poligona.
Normale u vrhovima određuju se na osnovi normiranih normala
poligona. Normala u pojedinom vrhu se dobije tako da se sumiraju
utjecaji susjednih normala poligona po komponentama i podjele s brojem
poligona koji su sudjelovali u određivanju normale. Normala vrha
Ax+By+Cz, po komponentama, jednak je :
A = 1/4 * (Ai + Aj + Ak + Al)
B = 1/4 * (Bi + Bj + Bk + Bl)
C = 1/4 * (Ci + Cj + Ck + Cl)
gdje su normale i, j, k, l susjedne normale poligona koji su sudjelovali u određivanju normale.