Împrăștiere subterană

Imprăștirea sub suprafață ( în engleză  Subsurface scattering , SSS) este o tehnică (metodă) software în grafica computerizată tridimensională care descrie propagarea luminii prin corpuri translucide. Esența împrăștierii subterane este de a simula propagarea luminii în corpuri solide translucide (obiecte, materiale). Imprăștirea sub suprafață descrie mecanismul de propagare a luminii, în care lumina, pătrunzând într-un corp translucid prin suprafața sa, este împrăștiată în interiorul corpului însuși, reflectându-se în mod repetat de la particulele corpului într-o direcție aleatorie și în unghiuri neregulate. Ca rezultat, lumina iese din obiect într-un punct de ieșire care este diferit de punctul de intrare în obiect. Imprăștirea sub suprafață joacă un rol important atât în ​​grafica computerizată 3D în timp real, cât și offline . Imprăștirea sub suprafață este necesară pentru redarea corectă a materialelor precum marmură , piele , lapte , jad , ceară (parafină) și multe altele.

Descriere fizică

Majoritatea materialelor folosite în grafica computerizată modernă iau în considerare doar interacțiunea luminii cu suprafețele obiectelor. În realitate, multe materiale sunt ușor translucide. Lumina trece prin suprafața materialului, în interiorul căreia este parțial absorbită, parțial reflectată și împrăștiată și, ca urmare, o parte din ea părăsește materialul, dar într-un unghi diferit, cu o intensitate diferită și într-un loc diferit. Pielea este un exemplu grozav: doar aproximativ 6% din lumina care lovește suprafața pielii este reflectată direct; 94% suferă transformările descrise mai sus [1] . Absorbția este o proprietate inerentă a materialelor translucide. Cu cât lumina trece mai mult printr-un material, cu atât mai multă lumină este absorbită de acel material. Pentru a simula acest efect, trebuie să se obțină o măsură a distanței pe care lumina a parcurs-o prin material.

Tehnici de redare cu împrăștiere sub suprafață

Există mai multe metode de implementare a împrăștierii subterane. Prima metodă se bazează pe utilizarea hărților de adâncime .  A doua metodă folosește spațiul de textură. A treia metodă este tot felul de abordări false (false) care creează aspectul utilizării algoritmului de împrăștiere sub suprafață, dar realizează acest efect în alte moduri.

Metoda hărții de adâncime

Metoda hărții de adâncime găsește distanța pe care o rază de lumină a parcurs-o în interiorul unui obiect și calculează dispersia pe baza acesteia. Esența metodei este de a citi valoarea din textura de adâncime (din poziția sursei de lumină). În acest fel, metoda hărții de adâncime este foarte asemănătoare cu metoda hărții în umbră . [2] Scena este redată din punctul de vedere al sursei de lumină într-o hartă de adâncime; astfel se păstrează distanța până la cea mai îndepărtată suprafață. Apoi harta de adâncime este proiectată pe suprafață folosind maparea texturii proiective standard și după aceea scena este redată într-un mod nou .  În această trecere, când un punct dat este umbrit, distanța de la lumină în punctul în care raza de lumină a traversat suprafața poate fi obținută printr-o simplă căutare a texturii. Scăzând această valoare din punctul în care raza a părăsit obiectul, putem obține distanța pe care a parcurs-o raza în interiorul obiectului.

Valoarea distanței obținută prin această metodă poate fi utilizată în mai multe moduri. Un astfel de mod este utilizarea valorii distanței din index, care este utilizată direct de artist atunci când creează o textură unidimensională care va scădea exponențial cu distanța. Această abordare, combinată cu alte modele de iluminare mai tradiționale, permite crearea diferitelor materiale, cum ar fi jadul și ceara .

Dacă modelele cărora li se aplică împrăștierea subterană nu sunt convexe, pot apărea probleme. Cu toate acestea, această problemă este rezolvată folosind tehnica „ depth peeling ” (la propriu , rusă depth peeling ) [3] . În mod similar, „peelingul în profunzime” poate fi utilizat pentru a lua în considerare materialele cu densitate variabilă sub suprafață, cum ar fi osul sau mușchiul, pentru a oferi apoi modele de dispersie mai precise.

Metoda de difuzie a spațiului texturii

Unul dintre cele mai evidente efecte ale împrăștierii sub suprafață este estomparea generală a luminii împrăștiate (difuze). În loc să se schimbe în mod arbitrar funcția de difuzie, difuzia poate fi modelată mai precis prin simularea acesteia în spațiul texturii. Această tehnică a fost folosită pentru prima dată pentru a reda fețe în The Matrix Reloaded [4] și de atunci a fost folosită în grafica interactivă 3D.

Note

  1. Krishnaswamy, A; Baronoski, GVG. Un model spectral biofizic al interacțiunii luminii cu pielea umană  //  Computer Graphics Forum : jurnal. - Editura Blackwell, 2004. - Vol. 23 , nr. 3 . — P. 331 . - doi : 10.1111/j.1467-8659.2004.00764.x . Arhivat din original pe 14 octombrie 2005.
  2. Green, Simon. Aproximații în timp real ale împrăștierii sub suprafață // GPU Gems. - Addison-Wesley Professional, 2004. - S. 263-278 .
  3. Nagy, Z; Klein, R. Depth-Peeling for Texture-based Volume Rendering  // A 11-a Conferință Pacific privind grafica și aplicații pe computer. - 2003. - S. 429 .
  4. Borșukov, G; Lewis, JP Redare realistă a chipului uman pentru „The Matrix Reloaded”  //  Computer Graphics : jurnal. — ACM Press, 2005.

Link -uri