Modelul de reflecție al lui Phong
Modelul de reflecție al lui Phong (numit și iluminarea Phong sau iluminatul Phong ) este un model empiric de iluminare locală a punctelor de pe o suprafață. În grafica computerizată 3D , este adesea denumită în mod ambiguu „ umbrire Phong ”, mai ales dacă modelul este utilizat împreună cu metoda de interpolare cu același nume și în contextul umbrelor de pixeli sau a altor zone în care un calcul al iluminării poate fi să fie denumit „ umbrire ”.
Istorie
Modelul de reflecție al lui Phong a fost dezvoltat de Bui Tuong Phong de la Universitatea din Utah , care l-a publicat în disertația sa de doctorat în 1975. [1] [2] A fost publicat împreună cu o metodă de interpolare a calculului fiecărui pixel individual care este rasterizat dintr-un model poligonal ; tehnica de interpolare este cunoscută sub numele de umbrire Phong, chiar și atunci când este utilizată cu un alt model de reflecție decât Phong. Metodele lui Phong au fost considerate radicale la momentul introducerii lor și de atunci au devenit de facto linia de bază pentru metodele de umbrire a multor aplicații de redare. Metodele Phong au devenit populare datorită utilizării în general eficiente a timpului de calcul pe pixel redat.
Aspecte teoretice
Reflecția lui Phong este un model empiric de iluminare locală. Descrie modul în care suprafața reflectă lumina, ca o combinație a reflexiei difuze a suprafețelor aspre cu reflexia speculară a suprafețelor strălucitoare. Se bazează pe observația informală a lui Phong că suprafețele strălucitoare au puncte mici de lumină intense, în timp ce suprafețele teșite au puncte mai mari de lumină care cad mai treptat. Modelul include, de asemenea, un termen de reflecție a mediului pentru a explica cantitatea mică de lumină care este împrăștiată pe întreaga scenă.
Pentru fiecare sursă de lumină din scenă, respectiv componentele sunt definite Și precum intensitățile (adesea în funcție de valorile RGB ) ale componentelor difuze și speculare ale surselor de lumină, respectiv. Un singur termen controlează iluminarea ambientală; uneori se calculează ca suma contribuțiilor tuturor surselor de lumină.
Pentru fiecare material din scenă, sunt definiți următorii parametri:
- , care este constanta de reflexie speculară, raportul dintre reflexia termenului specular al luminii proiectate
- , care este constanta de reflecție difuză, raportul dintre reflexia termenului difuz al luminii proiectate (suprafața Lambert)
- , care este constanta reflectării mediului, relația reflectării termenului de mediu prezent în toate punctele scenei redate
- , care este constanta de luciu pentru acel material, care este mai mare pentru suprafețele care sunt mai netede și mai asemănătoare oglinzilor. Când această constantă este mare, punctul specular al luminii este mic.
În plus, avem:
- , care este ansamblul tuturor surselor de lumină
- , care este vectorul care merge de la punctul de la suprafață la fiecare sursă de lumină ( specificați sursa de lumină)
- , care este normalul acestui punct de la suprafață
- , care este direcția pe care o va lua o rază de lumină perfect reflectată din acest punct de la suprafață
- , care este direcția care indică spre observator (ca o cameră virtuală)
Apoi modelul de reflecție al lui Phong oferă o ecuație pentru calcularea iluminării fiecărui punct a suprafeței:
unde vectorul este calculat ca o reflectare a pe suprafața caracterizată de normal folosind formula . Cappelletti indică faptul că vectorii sunt normalizați.
Termenul difuz nu este influențat de direcția observatorului . Termenul specular este mare numai atunci când direcția observatorului este aliniată cu direcția reflecției . Alinierea lor este măsurată de putere a cosinusului unghiului dintre ele. Cosinusul unghiului dintre vectorii normalizați Și este egal cu produsul lor dot. Cand este mare, în cazul unei reflexii apropiate de cea a unei oglinzi, punctul de lumină specular va fi mic, deoarece niciun punct de vedere nealiniat nu va avea un cosinus mai mic decât cel care tinde rapid la zero atunci când este ridicat la o putere mare .
Deși formularea scrisă mai sus este modalitatea obișnuită de prezentare a modelului de reflecție al lui Phong, fiecare termen ar trebui să fie inclus numai produsul punct al termenului este pozitiv (în plus, termenul oglindă ar trebui inclus numai dacă produsul punct al termenului difuz este pozitiv ).
Când culoarea este reprezentată de valori RGB, ca de multe ori în cazul graficii pe computer, această ecuație este modelată separat pentru intensitatea R, G și B, permițând constante de reflecție diferite , Și pentru diferite canale de culoare.
Aplicații
Așa cum s-a menționat mai sus, modelul de reflecție Phong este adesea utilizat împreună cu umbrirea Phong pentru a umbri suprafețele în software-ul grafic computerizat 3D. În plus, ar putea fi utilizat în alte scopuri. De exemplu, a fost folosit pentru a modela reflexia radiației termice în programul Pioneer în timpul unei încercări de a explica anomalia Pioneer . [3]
Notă
- ^ Bui Tuong Phong, Iluminare pentru imagini generate de computer ( PDF ).
- ^ Școala de calcul a Universității din Utah , cs.utah.edu .
- ^ F. Francisco; O. Bertolami, Modelarea contribuției termice reflectante la accelerația navei spațiale Pioneer .