A FIFA 21 kapta meg először a Frostbite hajszimulációs technológiáját

Ezt még az előző évben mutatta meg a Frostbite Team, de azóta jelentősen megváltozott az implementáció.

A hajszimulációs eljárások már évek óta aktív kutatási irányt jelentenek a számítógépes grafika szempontjából. A nagy áttörést a Tomb Raider hozta el még 2013-ban, amely játék először alkalmazott GPU-val gyorsított hajszimulációt, méghozzá TressFX néven. Azóta ezt az implementációt, vagy a modernizált, illetve módosított változatát rengeteg játék bevetette, a Square Enix címeiben konkrétan alapfunkcióvá vált a PureHair jelzés mellett, de még a frissebb PC-s portok is alkalmazzák gondolva itt például a Horizon: Zero Dawnra.

Az Electronic Arts égisze alá tartozó, Frostbite videojáték-motort fejlesztő Frostbite Team még az előző évben szellőztette meg, hogy GPU-val gyorsított hajszimulációs technológián dolgoznak. Erről sokáig annyit lehetett tudni, hogy sok szempontból TressFX-hez hasonlóan működik, de mégsem került bevetésre az elmúlt esztendőben, ugyanis utólag a módosítása mellett döntöttek, és az új konzolgenerációt célozták meg a debütálással.

A legnagyobb probléma az efféle effektek fejlesztéssel kapcsolatban az, hogy a mai GPU-k nem különösebben kedvelik a hosszú szakaszok leképezését, egyszerűen a hardverekbe épített raszterizáló úgy van kialakítva, hogy négyes pixelblokkokon dolgozzon, ami önmagában nem lenne akkora tragédia, de a vékony geometriák esetében muszáj valamilyen élsimítást alkalmazni, hogy jól nézzen ki. A Frostbite Team erre eredetileg hagyományos MSAA-t vetett volna be, annak ellenére, hogy a TressFX-re vonatkozó prezentációk során már többször említésre került, hogy az MSAA túl sok teljesítményt visz el. A gondot itt ténylegesen a leképezés minősége jelenti, annak ugyanis a két alappillére az élsimítás, illetve a sorrendtől független átlátszóság. Az MSAA hátránya a számítás időigénye, az ugyanis olyan jelentős, hogy le kell mondani a sorrendtől független átlátszóságról. Hasonló problémába futott bele az NVIDIA is a HairWorks nevű megoldásukkal, az ugyanis MSAA-t alkalmazott az élsimításra, de ez akkora teljesítményveszteséget vont maga után, hogy végül kidobták a rendszerből a sorrendtől független átlátszóságot. Az egész ugyanakkor nem egy vagy-vagy kérdés, a jó minőséghez az élsimításra és az átlátszóságra vonatkozóan is megfelelő háttér kell, ha az egyik komponens hiányzik, akkor ronda lesz az effekt.

A Frostbite Team szerencsére látta a problémát, és a kezelés tekintetében nem a sorrendtől független átlátszóság eltávolítása mellett döntöttek, azzal ugyanis az egész kutatás értelmét vesztette volna. Érdekes azonban, hogy nem is a TressFX által alkalmazott analitikai élsimítást vetették be, ami igen gyorsan ad relatíve jó minőséget. A Frostbite Team egy harmadik utat választott, ugyanis az egész gond abból ered, hogy a GPU-kban található fixfunkciós raszterizáló nem tud úgy működni, ahogy az optimális lenne a vékony geometriáknak. Ha nagyon le akarjuk ezt egyszerűsíteni, akkor bizony a probléma hardverből ered, amit viszont meg lehet kerülni. A modern GPU-k egyik jellegzetessége, hogy rendkívül jól programozhatók általánosan, évek óta léteznek erre szoftveres alapok is, gondolva itt a compute shaderre, ami egy játékban eléggé egyszerűen alkalmazható. Innen adja magát az az ötlet, hogy ha fixfunkciós raszterizáló nem elég jó a feladatra, akkor csinálja meg helyette a munkát egy compute shaderben írt szoftveres eljárás.

Persze mindmáig nem igazán alkalmazták ezt az irányt a fejlesztők, mert a fixfunkciós raszterizáló gyorsabb. Naná, az egy különálló részegység, ugyanakkor a gyorsaság nem minden, az is számíthat, hogy a mennyi minőséget lehet nyerni a fixfunkciós részegységek megkerülésével. A hajszimulációs eljárások leképezése szempontjából bizonyos, hogy nagyon sokat, mert compute shaderben tényleg lehet olyan raszterizáló eljárást írni, ami aztán abszolút ki van gyúrva a vékony geometriák kezelésére, erre a programozhatóság tökéletes alapot ad.

A compute shaderben megírt raszterizálás egyébként különösen nagy szabadságot biztosít az analitikai élsimítás és a sorrendtől független átlátszóság implementálása szempontjából, és ezt ki is használja a Frostbite Team, ami persze részben kényszerű tényező, mert a hardveres részegységek megkerülésével azok összes munkáját szoftveresen kell helyettesíteni.

A Frostbite hajszimulációs technológiája elsőként a FIFA 21-ben kerül bevetésre, de csak és kizárólag az Xbox Series S és X, illetve PlayStation 5 konzolokra írt portokon belül. Úgy tudjuk egyébként, hogy a rendszer képes futni minden compute shadert támogató GPU-n, vagyis elméletben azért eléggé jól alkalmazható technológiáról van szó, viszont maga a szoftveres raszterizálás nem olcsó dolog. Nem is a számítási kapacitás tekintetében van jelentős igénye, hanem olyan bonyolult compute shadert futtat, hogy az rendkívül megterhelő a ma még statikus erőforrás-allokációval dolgozó GPU-k számára. A jó sebességhez jelenleg sok regiszter, méretes helyi adatmegosztásra fenntartott memória, illetve nagy kapacitású gyorsítótárak szükségesek a multiprocesszorokon belül. Ha ezek nincsenek meg, akkor nagyon kevés konkurens wave-et tud futtatni hardver, vagyis folyamatosan üresjáratba kényszerül. Ez a része viszont optimalizálható a rendszernek, tehát később semmi akadálya egy PC-s verzió megjelenésének.

Előzmények

Hirdetés