Parallaxocclusion mapping (forkortet POM ) er en softwareteknik (metode) i tredimensionel computergrafik , en forbedret version af " parallax mapping "-teknikken. Parallax-okklusionskortlægning bruges til proceduremæssigt at skabe en 3D-beskrivelse af en tekstureret overflade ved hjælp af forskydningskort ( en:Displacement mapping ) i stedet for at generere ny geometri direkte. [1] Teknikken "Parallax occlusion mapping" kan løst kaldes " 2.5D ", da den giver dig mulighed for at tilføje 3D-kompleksitet til teksturer uden at skabe ægte 3D-grafikstrukturer. I modsætning til simplere metoderbump mapping , normal mapping eller parallax mapping giver denne teknik mulighed for korrekt perspektivdetektion og selvskygge i realtid uden at kræve GPU -gengivelsesgennemgange for at skabe den samme effekt med geometriberegninger. [2]
Det første værk afsat til denne teknik dukkede op i 2004 på ShaderX3, dets forfattere var Zoe Brawley og Natalya Tatarchuk . [1] Natalia Tatarchuk præsenterede teknologien ved SIGGRAPH 2005-begivenheden, som blev afholdt i Los Angeles i sensommeren 2005. [3] Yderligere blev "Parallax occlusion mapping"-teknikken brugt af ATI i "Toy Shop Demo"-demonstrationen for at præsentere mulighederne for den tredje version af shader-modellen i det dengang seneste videokort Radeon X1800. [fire]
Den første spilmotor, der brugte Parallax-okklusionskortlægning, var CryEngine 2 af den tyske udvikler Crytek , som først blev brugt i 2007 -pc-spillet Crysis . [5] Denne teknologi er også flittigt brugt i Futuremarks populære 3DMark Vantage - grafikbenchmark . [6]
"Parallax occlusion mapping"-teknikken kan bruges i real-time interaktiv computergrafik ( grafiske motorer til computerspil og andre interaktive applikationer), til offline-gengivelse ( 3D-grafikeditorer ) og til generering af separate stereoskopiske billeder. [7]
Parallax Occlusion Mapping er en avanceret og samtidig en af de mest beregningsmæssigt komplekse varianter af Parallax Mapping. "Parallax Occlusion Mapping" er fuldt behandlet og eksekveret på grafikkortets GPU som en pixel shader. Faktisk er det en form for lokal ray tracing (ray tracing) i en pixel shader. Strålesporing bruges til at bestemme højder og tage højde for synligheden af texels . Med andre ord kan denne metode gøre det muligt at skabe en endnu større dybde af relief med en lille mængde polygoner og brug af kompleks geometri. Ulempen ved metoden er den lave detaljering af silhuetter og ansigter. Det er muligt at implementere Parallax Occlusion Mapping som en del af DirectX 9 SM3 API -funktionaliteten som en pixel shader, men for optimal ydeevne skal videokortet give det rette hastighedsniveau til at udføre forgreningsoperationer i pixel shaderen. [5]