SIGGRAPH 2012 a PC-s grafika szemszögéből

De mit hoz a jövő?

Az előadássorozaton Johan Andersson, a DICE egyik vezető motorprogramozója és a Frostbite 2 egyik atyja beszélt a játékfejlesztés legnagyobb nehézségeiről. A helyzet nem túl egyszerű, de sosem volt az. Johan Andersson szerint öt fő csoportra oszthatók a gondok, ezek a képminőség, az illumináció, a programozhatóság, a költségek, valamint a skálázhatóság.

A képminőség elég egyértelmű, hiszen az alapvető cél a minél szebb grafika kreálása. Gondok viszont vannak bőven. Ahhoz, hogy a játékok a filmekben látható számítógépes grafika szintjét elérjék, jobb élsimítás kell, jobban kell kezelni az átlátszóságot, illetve a különböző blur effekteknek is sokat kell fejlődniük. Az élsimítás nyilván egy nagyon kényes terep, és alapvető fontosságú, de ma jellemzően kijelenthető, hogy ami jó lenne, az túl lassú, ám ami gyors, az nem elég jó. Johan Andersson szerint a 16x-os MSAA már nagyon jó eredményt ad, de – főleg deferred render mellett – a megvalósítással gondok vannak. A post-process elsimítások közül vannak jó megoldások, de egyik sem az igazi, noha kétségtelen, hogy nagyon gyorsak. Elmondása szerint a közeljövőben érdemes többféle élsimítást keverni, ami elfogadható eredményt ad elfogadható erőforrásigény mellett, emellett vannak kifejezetten érdekes ötletek, mint például az analitikai élsimítás, mely a Metro 2033-ban mutatkozott be először. Ebben a játékban az eredmény azért nem volt kiemelkedő, de az algoritmusban rejlő potenciál óriási, így nem ártana több kutatást végezni ezen a területen.

Az átlátszóság helyzete szintén egyértelmű. Ma még sok program használ sorrendtől függő megoldást, ami a fejlesztőknek és a művészeknek sem kedvez. Az AMD azonban már régóta kínál egy teljesen kidolgozott, sorrendtől független megvalósítást, ami – a compute shadert használva – sokkal jobb eredményt ad; nem kérdés tehát, hogy ideje továbblépni. A későbbiekben értékes opció lehet még az adaptív megoldás, de ez egyelőre még kutatási fázisban van.

Az illumináció szempontjából Johan Andersson üzenete világos: be kell vezetni a dinamikus globális illuminációt, és lehetőleg mellőzni kell az előre számolt, úgymond fake megvalósításokat. A valós idejű globális illuminációra ma már rengeteg algoritmus van, és többségük szinte bármilyen motorba könnyen implementálható. Természetesen a jó minőségű megoldások, mint például a DiRT Showdownban használt algoritmus komolyan terheli a GPU-k általános számítási teljesítményét, de az új architektúrák ezt egyre jobban tűrik.

DiRT Showdown VPL-alapú globális illumináció ki- és bekapcsolva DiRT Showdown VPL-alapú globális illumináció ki- és bekapcsolva
DiRT Showdown VPL-alapú globális illumináció ki- és bekapcsolva [+]

Az árnyékok és a visszatükröződő felületek szempontjából a helyzet már nem ilyen egyszerű. Jó minőségű eredményt az előbbi esetekben még mindig nehéz kreálni, gyorsat meg pláne. A közeljövőben továbbra is sok lesz a trükközés, hiszen teljesen átfogó megoldás aligha lesz egyhamar a problémákra; a későbbiekben viszont potenciális jelölt a sparse voxel octree (SVO) adatstruktúra használata. Ennek segítségével az árnyékok és a visszatükröződő felületek jó minőségűek lehetnek, de nagyon erőforrás-igényes egy jelenet SVO adatstruktúráját felépíteni, tehát ez mindenképpen a távolabbi jövő kérdése. A visszatükröződő felületekre ráadásul vannak jobb alternatívák is. A legtöbb felületre jól használható a CryEngine 3-ba beépített screen space reflections (SSR) effekt.

Crysis 2 SSR effekt ki- és bekapcsolva Crysis 2 SSR effekt ki- és bekapcsolva
Crysis 2 SSR effekt ki- és bekapcsolva [+]

A programozhatóság szintén komoly probléma, ugyanis itt jelentkeznek talán a legnagyobb korlátok. A jelenleg használt grafikus futószalag ugyan gyors, de nincs konzervatív raszterizálás, nincs programozható blending és nem elég flexibilis a textúraszűrés sem. A GPU-k általános számítási képességei viszont nem elég hatékonyak, hogy szimuláljanak egy teljes grafikus futószalagot. A helyzet tehát jelenleg az, hogy amikor csak lehetséges, az API-ba épített futószalagot érdemes használni, amit célszerű kiegészíteni a GPU-k compute képességeire építve. Utóbbit azonban komolyan fejleszteni kell. Johan Andersson szerint a legfontosabb, hogy a mai számos eltérő architektúrára szükséges egy egységes virtuális utasításarchitektúra, amit mindenki támogat. Nagyon jó kezdeményezésnek tartja a HSA-t a HSAIL virtuális ISA mellett, ami már nem egy cég, hanem egy független alapítvány tulajdona, vagyis bárki megfontolhatja a belépést.

Amit egyértelműen el kell kerülni, az a gyártóspecifikus platform, mivel a legtöbb fejlesztő a gyártótól független vagy a nyílt megoldásokat keresi. Szintén fontos lenne a központi és grafikus processzor közötti kommunikációt csökkenteni. Ma a processzor több szituációban is korlátozza a GPU-t, mivel lényegében minden feladatot a processzor indít a grafikus vezérlőn. Jó lenne, ha a GPU beágyazott feladatokkal képes lenne tovább dolgozni anélkül, hogy a processzor segítségét igénybe venné. Tulajdonképpen a lényeg, hogy bármelyik feladat képes legyen egy újat indítani anélkül, hogy processzor beavatkozására lenne szükség. Gyakorlatilag a professzionális piacra érkező NVIDIA GK110-es GPU ezt az elvet követi a Dynamic Parallelism technikával. Ha ez a végfelhasználói termékekben is megvalósulna, akkor teljes futószalagokat lehetne a grafikus processzoron futtatni függetlenül a központi processzortól.

A költségek állandó problémát jelentenek a játékfejlesztés területén, így általánosan elmondható, hogy minél szebb egy program, annál költségesebb lesz a tartalomkreálás. Ráadásul a művészek a fenti, előrevetített változásokkal gyakorlatilag nem sokat profitálnak. Ugyan a dinamikus globális illumináció révén és az árnyékokra vonatkozó kutatásokkal a művészek válláról lekerül némi teher, de a jobb modellekre való igény újra megnöveli a befektetett munkát. A legnagyobb kérdés tehát, hogy hol lehet egyáltalán levenni ezt a terhet a művészekről. Johan Andersson szerint érdemes gondolkodni a procedurális geometriában és textúrázásban. Mindkét esetben arról van szó, hogy nem készül el az adott tartalom a művész által, hanem szimplán matematikai képletek bevetésével a GPU számolná ki azt, mégpedig az általános compute teljesítményre alapozva. Alapvetően ez nem mondható újdonságnak, hiszen régóta folynak kutatások erre vonatkozóan. Az idén megrendezett Assembly 2012 alkalmával már bemutatásra is került, hogy milyen lehetőségek vannak ezen a területen: egy egyszerű téglatestből kiindulva elég szép épületet sikerült kihozni, és mindezt betöltött tartalom nélkül, csak számolva.

A kiindulási pont és a kész tartalom A kiindulási pont és a kész tartalom
A kiindulási pont és a kész tartalom (forrás: AssemblyTV) [+]

Végül a skálázás is egy kényelmetlen kérdéssé vált az utóbbi időben. A grafikáról általánosan elmondható, hogy jól skálázható, hiszen évek óta lehet állítani a PC-s játékok minőségi szintjét. Fontos azonban, hogy a skálázás mértéke jelentősen megváltozott az ultramobil piac komoly erősödésével. Már nem csak a leggyengébb és a legerősebb VGA között kell átmenetet képezni, hanem egészen le kell menni az 1 wattos TDP-vel rendelkező okostelefonok IGP-jéig, ami rendkívül nehéz, mert a felhasználó elvárja, hogy PC-n a lényegesen gyorsabb, csúcskategóriás VGA-kon sokkal jobb legyen a grafika. A felbontás viszonylag egyszerűen skálázható, legalábbis az ezzel kapcsolatban felmerülő problémákra nagyon jó trükkök és megoldások vannak, és az egyes effekteket sem túl nehéz skálázni vagy kompletten eltávolítani. Az egyedüli gond az lehet, hogy van olyan tablet (például az új generációs Apple iPad), amelynek nagyobb a felbontása, mint egy méretes PC-s monitornak, aminek a felhasználó nyilván örül, de a fejlesztő finoman szólva sem rajong az ötletért.

A skálázás szempontjából a legproblémásabb terület a geometria, hiszen az ultramobil termékek esetében nagyon finoman kell bánni a háromszögek számával. Ez alapvetően a művészek vállát nyomja, vagyis a tartalmat el kell készíteni kisebb részletesség mellett is. A procedurális geometria itt szintén hasznos lehet, hiszen a programkódot jóval egyszerűbb módosítani, mint a tartalom részletességét.

Végül Johan Andersson elmondta, hogy a következő 10 év legnagyobb kihívása a fotórealisztikus grafika megalkotása 1 wattos fogyasztás mellett.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés