Tényleg képes a végtelen részletességre Unreal Engine 5?

Igen is, meg nem is. Az Epic a végtelenen leginkább a lehetőségre gondol, nem feltétlenül szerencsés a szó szerinti értelmezés.

Az Epic a tegnapi napon leplezte le a Unreal Engine 5-öt, és bizony a "Lumen in the Land of Nanite" nevű technikai demonstrációról készült két videó sok kérdést felvetett. Az új videojáték-motor számos új modult bevet, például a Chaost a fizikához, a Niagarát a részecskeszimulációhoz, a Nanitét a mikropoligon szintű leképezéshez, illetve a Lument a globális illuminációhoz.

Hirdetés

A Nanite esetében fel is merült a végtelen szó, konkrétan képes arra a rendszer, hogy ZBrush sculptot, vagy fotogrammetriával beolvasott valós tárgyak virtuális mását megjelenítse, és ehhez nincs szükség kimenteni a részleteket normal mapre, és manuális LOD-ot sem kell alkalmazni. Ezek erősen hangzanak, nem véletlen, hogy felmerült egy szimpla kérdés: hogyan? Nos, a végtelen az nem úgy végtelen, hogy a hardver bármit elvisel, nyilván továbbra is meglesznek az adott gép fizikai képességeiből eredő limitek, ellenben maga a Unreal Engine 5 képes effektíve végtelen geometriát kezelni. Ez nagyrészt egy elméleti állítás, mert ha végtelen sok lenne a háromszög a jelenetben, akkor sosem lehetne kiszámolni a képkockát. Tehát itt nem valós értékre utal az Epic, hanem arra, hogy maga a leképező úgy lett megtervezve, hogy elfogadja a filmes CGI-ra szabott tartalmakat, és azokat képes kezelni valós időben is. Ennek az alapját a Nanite végzi, de ez nem jeleníti meg a geometriát teljes valójában, hanem olyan virtuális mikropoligon rendszerként üzemel, amely kellő részletességgel, akár pixelenként egy háromszöget leképezve képes átadni a betöltött tartalom minőségét. Ez igazából elég ahhoz, hogy tényleg teljes pompájában láthassuk a rendkívül sok háromszögből álló modelleket.

A demonstráció sem véletlenül futott PlayStation 5-ön. Alapvetően a rendkívül részletes geometria kezelésének legnagyobb gátját már nem a grafikus vezérlők nyers számítási kapacitása jelenti, hanem sokkal inkább az elavult grafikus futószalagban van a limit, amely nagyjából húsz éve megfelelt a feladatnak, de manapság túl sok limitet eredményez, még úgy is, hogy az évek során folyamatosan kiegészítették. A PlayStation 5 bemutatója kapcsán kiderült, hogy a konzol fő újítás a primitive shader lesz, ami egy új generációs futószalag a geometria feldolgozására, leváltva a jelenlegi modellt. Ezzel nagyságrendekkel hatékonyabban kezelhető a megjelenített geometria, tehát nemcsak a hardver fejlődik, hanem szoftveres szinten is kap egy óriási lökést a gép. Lényegében ez teszi lehetővé a mikropoligon szintű leképezést, és ezért nincsenek elméleti limitek a poligonszámra vonatkozóan, a rajzolási parancsok kezelése tekintetében pedig már az előző generáció is egészen komoly szintet tudott, így ez egyáltalán nem jelent valós problémát.

Mivel a hardver és lényegében a grafikus API oldalán adott a megfelelő számítási kapacitás, illetve működés, már csak az adatmennyiségre vonatkozó gondokat kell leküzdeni. A rendkívül részletes modellek ugyanis nem kevés memóriát igényelnek. Tehát effektíve hiába tudja a kialakított rendszer a geometriát elképesztően hatékonyan kezelni, ha nem fér bele memóriába az adat. És itt jön elő a PlayStation 5 másik nagy újítása, vagyis a rendkívül gyors SSD, valamint a hardveresen vezérelt, hierarchikus lapozást megvalósító memóriamenedzsment. Tulajdonképpen ez az a fő komponens, ami a Nanitét működteti. Maga a hardver ugyanis képes olyan módban üzemelni, hogy a memória gyakorlatilag maga az alkalmazás legyen az SSD-n. Ha a tartalom például 100 GB-nyi helyet foglal, akkor az a PlayStation 5-nek olyan, mintha egy 100 GB-os rendszermemóriával rendelkező gép lenne. Ilyenkor a valós, fizikailag beépített rendszermemória egy része a processzornak van adva, a másik része pedig egy hatalmas méretű gyorsítótárként funkcionál, ahova mindig azok az adatok kerülnek bemásolásra, amelyekre éppen szükség van a leképezéshez. Se több, se kevesebb. Ez a fajta rendkívül hatékony streaming teszi igazán ütőképessé a PlayStation 5-öt, hiszen ezt már nem egy szoftver vezérli, hanem egy hardverbe épített rendszer dönt, gyakorlatilag hibátlanul és nagyon hatékonyan. Ilyen formában olyan minőségű tartalmak beolvasására van lehetőség, amely korábban elképzelhetetlennek tűnt 16 GB-nyi rendszermemória mellett. És mindez egyébként a textúrákra is igaz, hiszen az Unreal Engine 5-ben virtuális textúrázás van alkalmazva.

Az Epic nem tett tehát mást, mint igazodott az új generációs konzolok hardveres lehetőségeihez. Ez valóban megkönnyíti a fejlesztői munkát is, hiszen ilyen formában tényleg el lehet szállni a tartalom minőségét tekintve. Viszont teremt majd egy új limitet is, ugyanis a nagyon részletes modellek és textúrák ettől még sok helyet foglalnak, akár tömörítve is. Ergo a jövőben nem a gép memóriája lesz a fő korlát, hanem az adattároló kapacitása. Mindezeken túl arra is figyelni kell, hogy a PlayStation 5 és az Xbox Series X képes a fentieknek megfelelően működni, de az előző generációs konzolok, illetve lényegében a PC-k nem. Tehát nem lehet azért nagyon elszállni a minőséggel, hacsak nem a két új generációs konzol van direkten célozva. Egy ilyen alkalmazás az előző generáción teljesen működésképtelen, részben a lassú HDD-k miatt. A PC-k tekintetében nem reménytelen a helyzet, de nyilván ehhez a minőséghez el kellene kezdeni tömeges szinten vásárolni a PCI Express 4.0-s SSD-ket (sokaknak előbb magát az összeköttetést támogató platformot), illetve alapvetően még ez sem elég, mert kell egy hardveresen vezérelt, hierarchikus lapozást megvalósító memóriamenedzsment a GPU-kba. És mindehhez nem ártana egy külön API sem (lehetőleg szabványos), amivel a program direkten címezheti az SSD-t, hogy az ott tárolt tartalmat megfelelően tudja gyorsítótárazni a hardver.

Hirdetés

Előzmények

Hirdetés