Parallax mapping

Pentru a înțelege acest termen, citiți mai întâi conceptul de Mapare Bump.

Imaginea prezinta triunghiul, care este de-a lungul privitorul specii vector se uită la acest punct ar fi bump'a vizibile - A. În realitate, trebuie să vedem punctul B, astfel încât sarcina principală a acestui efect este să găsească coordonatele punctului B, adică, obțineți noi coordonate de textură și le folosiți ca în cazul cartografierii brute simple. Astfel, porțiunile superioare (c înălțime A) suprafețele sunt îndepărtate de privitorului, în timp ce aproape (înălțimea B) se va apropia care va dealuri.







A, B - înălțimi,
T0 - coordonatele actuale,
T1 - coordonate corectate,
V este vectorul de specie.






Pentru a calcula deplasarea sunt necesare trei cantități: coordonatele reale, vectorul speciilor normalizate și valoarea înălțimii.
Înălțimea (în figură - A) cu o serie de factori de scalare s și b pentru deplasarea gama care arată mai bine proprietățile fizice ale suprafeței modelate. Cum de a alege corect coeficienții?
De exemplu, pe o suprafață de dimensiune MxN există un strat de materie de grosime K, apoi s = K / MxN și intervalul de înălțime este. Folosind compensarea b = - K / MxN, va da un interval. Valoarea medie a acestor doi factori oferă cea mai bună aproximare: b / s = 0,5; b = s * 0,5f;
Valoarea noii înălțimi (B) este:

Decalajul se calculează prin urmărirea unui vector paralel cu triunghiul de la punctul T0 la vectorul de vizualizare:

Dar, la unghiuri mici, deplasarea va fi mică, adică Tn se va apropia de T0, ceea ce va da efectul de "estompare" a suprafeței. Cea mai simplă soluție la această problemă este de a limita deplasarea nu cu mai mult de Hn:

Apoi, coordonatele căutate pentru textură sunt:

Coordonatele de textură rezultate sunt utilizate pentru toți sampleerii din pixel shader.







Articole similare

Trimiteți-le prietenilor: