A realisztikus árnyékok használata még ma is az egyik legnehezebb eleme a valós idejű grafikai számításoknak. A raszterizálás esetében nehéz univerzális rendszert fejleszteni, így az egyes valós jelenségekre, akár két-három árnyékolási technikát is bevetnek a mai játékok. A legnagyobb problémát a szórt fény okozza, melyre az Ambient Occlusion technika jelentené a megoldást, de ennek a megfelelő megvalósítása annyira számításigényes, hogy a mai hardverek egyszerűen nem bírnák el a terhelést. Éppen ezért a mai programok csak a kamera nézőpontjából vizsgálják a problémát. Ennek előnye, hogy relatíve gyors, de hátránya, hogy hibás eredményt ad, ezen belül is az algoritmustól függően igen sok lehet a hamis árnyék. Összességében persze még így is kedvezőbb a grafika minősége, mintha nem lenne a programon valamilyen SSAO technika, de egy ideje már komoly kutatást végez a piac arra vonatkozóan, hogy van-e alternatív megoldás a problémákra.
Hirdetés
Az Obscurance Fields technika az egyik legértékesebb kutatási irány, mely többek között feltűnik a Sniper Elite 3 című játék grafikai beállításokra vonatkozó menüjében. Bár azt el kell mondani, hogy ezt a koncepciót nem ez a játék alkalmazza először, mivel PC-n például a Splinter Cell: Conviction és a Remember Me című alkotások már építettek nagyon hasonló környezeti árnyékolást elősegítő rendszerre, de a minőség nem lett elég jó. Ez persze jórészt az alkalmazott, DirectX 9-es API által lehetővé tett, rossz hatásfokú programozhatóságra volt visszavezethető, így például a The Last Of Us című PlayStation 3-as játék már egy értékelhető megvalósítással állt elő, amely a Cell processzor SPU-in futott. Újdonságról tehát a szó legszorosabb értelmében nem beszélhetünk, de a Sniper Elite 3 az első olyan program, amelynél Obscurance Fields technika minőségét bátran lehet mutogatni.
Obscurance Fields kikapcsolva és bekapcsolva (forrás: DSOGaming) [+]
Már az elején érdemes kiemelni, hogy az Obscurance Fields nem váltja ki az SSAO-t, bár a két rendszer által produkált eredményt érdemes úgy tervezni, hogy kiegészítsék egymást. Ez még mindig eredményez majd hamis árnyékokat, de jóval kevesebbet, mint korábban, illetve sokkal realisztikusabb lesz a szórt fény által okozott árnyékok minősége, főleg ha közel vannak egymáshoz az objektumok.
Az Obscurance Fields technika alapvető előnye, hogy a jelenet szintjén dolgozik. Mindegyik objektumnak van egy egyszerűsített váza, amely primitív ellipszoid alakzatokból áll. Ezek a környező geometrián lágy árnyék formájában lesznek reprezentálva. A számítás az egyes pixelek árnyékolására vonatkozóan aszerint történik, hogy az ellipszoidok a környezeti geometriát mennyire árnyékolják, ezen belül is milyen szögben érik el a felületet, illetve a távolság is fontos tényező. Ez a működés tulajdonképpen megoldja az önárnyék problémáját is, ami manapság komoly fejtörést okoz, emellett a rendszer nagy előnye még, hogy a mai SSAO technikákkal ellentétben olyan objektum is vethet árnyékot a geometriára, amely esetleg nincs rajta a képkockán, de a jelenetben viszont szerepel. Ez az SSAO másik tipikus hibája, hiszen amellett, hogy hamis árnyékokat generálhat, olyan árnyékok számítását nem végzi el, amelyek léteznek, de nincs elég információ a kamera nézőpontjából ahhoz, hogy ezek megjeleníthetők legyenek.
A Sniper Elite 3 új verziós Asura videojáték-motorja az Obscurance Fields technikát compute shaderrel implementálja, ami a megfelelő számítási teljesítmény szempontjából szükséges, így teljes mértékben a grafikus vezérlő gondoskodik a számításokról. Éppen ezért az új árnyékolási rendszer az Xbox 360 és a PlayStation 3 verzióra nem használható, de az új generációs gépeken tökéletesen működőképes, ahogy PC-n is. Persze számításigényes effektről van szó, hiszen a mai komplex jelenetekben több száz objektum lehet, ami potenciálisan több ezer szálat eredményez az Obscurance Fields effekt számítására vonatkozóan, ám ez a mai grafikus vezérlőknek már nem jelenthet problémát.