Maparea ocluziei de paralaxă (abreviată ca POM ) este o tehnică software (metodă) în grafica computerizată tridimensională , o versiune îmbunătățită a tehnicii de „ mapping paralax ”. Maparea ocluziei de paralaxă este utilizată pentru a crea procedural o descriere 3D a unei suprafețe texturate folosind hărți de deplasare ( en:Displacement mapping ) în loc să genereze direct o nouă geometrie. [1] Tehnica „Cartografiere a ocluziei Parallax” poate fi numită „ 2.5D ”, deoarece vă permite să adăugați complexitate 3D texturilor fără a crea structuri grafice 3D reale. Spre deosebire de metodele mai simpleBump Mapping , mapare normală sau mapare paralaxă , această tehnică permite detectarea corectă a perspectivei și auto-umbrirea în timp real fără a necesita treceri de randare GPU pentru a crea același efect cu calculele geometriei. [2]
Prima lucrare dedicată acestei tehnici a apărut în 2004 pe ShaderX3, autorii ei au fost Zoe Brawley și Natalya Tatarchuk . [1] Natalia Tatarchuk a prezentat tehnologia la evenimentul SIGGRAPH 2005, care a avut loc la Los Angeles la sfârșitul verii anului 2005. [3] În plus, tehnica „Parallax occlusion mapping” a fost folosită de ATI în demonstrația „Toy Shop Demo” pentru a prezenta capabilitățile celei de-a treia versiuni a modelului shader pe cea mai recentă placă video Radeon X1800. [patru]
Primul motor de joc care a folosit maparea ocluziei Parallax a fost CryEngine 2 de către dezvoltatorul german Crytek , care a fost folosit pentru prima dată în jocul pentru PC Crysis din 2007 . [5] Această tehnologie este foarte utilizată și în popularul benchmark grafic 3DMark Vantage de la Futuremark . [6]
Tehnica „Parallax occlusion mapping” poate fi utilizată în grafica interactivă pe computer în timp real ( motoare grafice pentru jocuri pe calculator și alte aplicații interactive), pentru randarea offline ( editoare de grafică 3D ) și pentru generarea de imagini stereoscopice separate. [7]
Parallax Occlusion Mapping este o variantă avansată și, în același timp, una dintre cele mai complexe din punct de vedere computațional de Parallax Mapping. „Parallax Occlusion Mapping” este complet procesat și executat pe GPU-ul plăcii video ca un pixel shader. De fapt, este o formă de ray tracing local (ray tracing) într-un pixel shader. Urmărirea razelor este utilizată pentru a determina înălțimile și pentru a ține cont de vizibilitatea texelilor . Cu alte cuvinte, această metodă poate face posibilă crearea unei adâncimi și mai mari de relief cu o cantitate mică de poligoane și utilizarea unei geometrii complexe. Dezavantajul metodei este detalierea redusă a siluetelor și fețelor. Este posibil să se implementeze Parallax Occlusion Mapping ca parte a funcționalității API DirectX 9 SM3 ca pixel shader, cu toate acestea, pentru performanțe optime, placa video trebuie să ofere nivelul adecvat de viteză pentru executarea operațiunilor de ramificare în pixel shader. [5]