Uvod

Phongov model osvjetljenja je empirijski model lokalnog osvjetljenja tocke na povrsini.
Razvijen od strane Bui Tuong Phong koji ga je objavio u doktorskoj disertaciji 1973.
Phongov model osvjetljenja moze se razlomiti u 3 komponente
Jedan od najkoristenijih modela osvjetljavanja u grafici

Phongov model osvjetljenja funkcionira na nacin da izracunava boju za proizvoljnu tocku na povrsini na temelju osnovnih unosa:

Phong osnove

  • L - vektor do izvora svjetlosti
  • N - normala povrsine
  • V - vektor pogleda korisnika
  • R - refleksija l nad p
  • P - povrsina objekta
  • ks - koeficijent specular osvjetljenja
  • kd - koeficijent diffuse osvjetljenja
  • ka - koeficijent ambient osvjetljenja
  • α - sjaj objekta

Formula:


  • Ambient reflection (Okolno osvjetljenje) - intezitet svjetlosti je ujednacen na svim tockama povrsine, dodaje se sceni bez obzira na sve, inace sjene previse pocrne
  • Diffuse reflection (Difuzno osvjetljenje)- proizlazi iz pretpostavke da je svjetlost iz bilo kojeg smjera reflektirana jednako u svim smjerovima, intezitet ovisi o kutu udara svjetlosti na povrsinu
  • Specular reflection (Zrcalno osvjetljnje)- svjetlost dolazi u jednom smjeru a odlazi u drugom u odnosu na kut povrsine i vektora svjetlosti (ogledalo), znaci ovisi o gledistu (objekt moze izgledati kao da se sjaji)

Phongov model osvjetljenja

Ambient - - mnozi se boja svjetla i boja materijala.

Specular - - ovisan o kutu reflektirajuceg vektora r i vektora pogleda v. Potreban skalarni produkt jer se zeli koristiti refleksija prema kameri kod elemenata udaljenih od kamere, alfa je zrcalni eksponent te predstavlja sjaj.

Specular + Diffuse + Ambient => PHONG

Diffuse - - temelji se na kutu vektora i normale povrsine

Implementacija u javi

Renderiranje:

Crta se ploha (Face) , za svaku plohu se uzmu svi izvori svjetlosti koji su trenutno ukljuceni, i prema formuli se racuna koliko je ta ploha blizu svjetlosti te se boja.


Izgled korisnickog sucelja

U korisnickom sucelju korisnik moze mijenjati rotaciju sfere, broj paralela, meridijana, velicinu, boju, Ambient, Diffuse, Specular koeficijente te boju osvjetljenja. Sfera se renderira svakih nekoliko stotinki