Phong-varjostus on kolmiulotteisessa grafiikassa käytetty varjostusmenetelmä, jossa polygonin valaistus lasketaan sen normaalien perusteella.

Laakavarjostus (flat) ja Phong-varjostus.

Phong-menetelmä on raskaampi laskea kuin tasainen varjostus ja Gouraud-varjostus, mutta tarkempi etenkin melko suuripolygonisissa "kiiltävissä" kappaleissa. Phong-varjostuksessa pinnan sisäpisteiden valaistus lasketaan erikseen, kun taas Gouraud-varjostuksessa valaistuskaava lasketaan vain kulmapisteille ja keskiosan värit interpoloidaan kulmapisteiden valaistuksesta.

Phong-varjostuksen esitti Bui Tuong Phong väitöstyössään vuonna 1973 ja vuonna 1975 artikkelissa Illumination for computer generated pictures.[1][2] Bui Tuong Phong sairasti leukemiaa ja kuoli pian sen jälkeen kun sai väitöksensä valmiiksi.[3]

Phong-menetelmästä on julkaistu vuonna 1977 James F. Blinnin esittämä niin sanottu Blinn-Phong -malli.[4][5] Blinn kehitti menetelmää sallimalla interpolaatiota ja vähentämällä laskentakuormaa.[3]

Phongin heijastusmalli muokkaa

 
Phongin heijastusmallin kolme komponenttia

Phong-varjostus perustuu Phongin heijastusmalliin (tai Phongin valaistusmalliin). Siinä valonlähteestä tulevan valon heijastuminen kappaleesta jaetaan spekulaariin heijastukseen, joka kohdistuu vahvimpana suoraan katsojaan, diffuusiin heijastukseen, joka kohdistuu yhtä vahvana kaikkiin suuntiin ja ambientiin heijastukseen, joka simuloi ympäröivistä kappaleista tulevaa valoa. Heijastuva valo lasketaan spekulaaria, diffuusia ja ambientia komponenttia vastaavista muuttujista (jotka kuvaavat karkeasti kappaleen heijastusominaisuuksia) ja valonlähteen, kappaleen pinnan ja katsojan välisistä kulmista.

Phongin heijastusmalli on paikallinen valaistusmalli [6], eli se ei ota huomioon ympäröivistä kappaleista heijastuvaa valoa (muuta kuin karkeana, jokaisessa kohdassa samansuuruisena ambient-kertoimena), mutta valonlähteitä voi olla useampia. Phongin heijastusmalli ei perustu niinkään valon fysikaalisiin ominaisuuksiin, vaan on kokemuspohjainen.

Lähteet muokkaa

  1. History cs.utah.edu. Viitattu 25.9.2022. (englanniksi)
  2. Illumination for computer generated pictures dl.acm.org. kesäkuu 1975. doi:10.1145/360825.360839. Viitattu 25.9.2022. (englanniksi)
  3. a b Mike Seymour: Founders Series: industry legend Jim Blinn fxguide.com. 24.7.2012. Viitattu 25.9.2022. (englanniksi)
  4. https://learnopengl.com/Advanced-Lighting/Advanced-Lighting learnopengl.com. Viitattu 10.1.2021. (englanniksi) 
  5. James F. Blinn: Models of light reflection for computer synthesized pictures dl.acm.org. kesä 1977. doi:10.1145/965141.563893. Viitattu 25.9.2022. (englanniksi)
  6. http://www.cs.helsinki.fi/group/goa/render/valaistus.html