10. 10. 2009

Krájame, rozďelujeme, delíme

Na Amige 500 išlo v 3D hre o každý jeden "polygón". Pri Lare Croft sme obdivovali jej 3D cecky tvaru egyptských pyramíd. Auto v GT5 bude dvakrát tak detailnejšie, ako to isté vo Flopze 2.5, opäť vďaka vyššiemu počtu polygónov. Prechodne sme matku prírodu oklamali lacným pozlátkom normálových máp. Nový výkonnejší hárdvér a tlak na razantnejšie zvýšenie kvality scény vďaka reálnej komplexnej geometrii postáv a scény samotnej nás doviedol ku asi najdôležitejšej vlastnosti DirectX11 API. Mimo lepšej podpory pre kompresiu textúr, HDR a LDR normál máp, "softvérový rendering" - compute shaders atď.

Hárdverová teselácia. Rozklad objektu na definované mnohouholníky. Pochopiteľne nič nové, deje sa to v grafickej karte od nepamäti, nie však na tejto kvalitatitívne úplne novej úrovni. V druhogeneračnej DX11 hre uvidíte mimoriadne detailné 3D povrchy, hlavne pri veľkom priblížení, tam kde bola predtým iba rozmazaná textúra budiaca dojem priestoru od 3 metrov vyššie. Adaptívna teselácia znamená, že bez skokových zmien detailnosti modelu /LOD/ si samo GPU podľa definovaných parametrov bude plynule riadiť komplexnosť modelu /pridávaním polygónov, zjemňovaním povrchu, mesh subdivision/ od 200 do 2 000 000 polygónov. Ak sa teda tej novej Lare budete pozerať zblízka do očí, uvidíte nasolabiálne ryhy in situ tak, ako to má naozaj vyzerať.



DX10 vs DX11, dlhšia render pajpka v druhom prípade

Zdorazňujem - všetko sa bude diať VNÚTRI GPU čipu, bez drancovania pamäte a priepustnosti tak dátovo veľkým modelom. To však neznamená, že nároky na disponibilnú pamäť klesnú. Následný, pravdepodobne nutný displacement mapping /vpáli do hustej siete polygónov 3D topografiu povrchu/ vám tých 2-4 giga ram neodpustí. Ide skôr po novom o rádovo desaťnásobné zlepšenie využitia systémových nárokov s adekvátnym finálnym efektom, ktorého by ste sa pri použití starých renderovacích postupov len tak skoro nedočkali.




Fantázii sa medze nekladú, takže to môžte celé použiť pri renderingu vlasov, ale aj chlpov pri veľkom počte NPC. Nielen ako ukážkové NVIDIA DX 10 "hair" demo. Pretože DX11 teselátor generuje okrem trianglov a quadov aj bohu prosté "wireframe čiarky". GPU teda šéfuje iba niekoľko stoviek "vodiacich" vlasov, ktoré teselátor expanduje do tisícok a desaťtisícok prameňov. Spracovanie terénu ako v MMO hre Saga of Ryzom na Nevrax engine. Zakrivené Bezier povrchy, ktoré použil ID soft pre Quake 3. Pri HW teselácii sa nielen zvýši ich efektivita /počet fps/ a kvantita, ale je možne ich implementovať na ďaleko komplexnejšie objekty. Vyhladzovanie siluet: uši, prsty, plecia, a všetky tie dnešné aj neživé hranaté predmety, z ktorých kričí rok 1990.

Čo sa next gen konzol týka je známe, že Xcrap 1.5 obsahuje HW teselátor, aj keď sa nevie na akej úrovni použiteľnosti. Otázkou je hlavne jeho flexibilita. Predpokladá sa, že vzhľadom na svoj pokročilý vek pôjde o to najjednoduchšie riešenie, pričom verejne sa o žiadnej podpore v hrách nehovorí, čo sa však ešte môže zmeniť. Poznám nejaké šumy týkajúce sa hry Moto GP od Climaxu /teselovanie motoriek, bezier krivky/. RSX GPU v PS3ke nič podobné neobsahuje, a teda pri "softvérovej" teselácii sa nemôžte žiadnym fyzickým spôsobom dostať na úroveň HW podpory, pretože nedokážete obíjsť relatívne pomalý krok v RSX GPU pajpke - vertex shading/stage. A skočiť priamo na pixel shader. Môžte však naprogramovať deteselátor na ODSTRAŇOVANIE polygónov mimo vizuálnu oblasť záujmu, čím samozrejme významne znížite množstvo práce pre RSX. A skutočne sú tieto techniky aj na SPE masovo vo first-second party hrách používané.

Paradoxne pri PSP sa od začiatku udáva HW akcelerácie pre NURBS / Non-Uniform Rational B-Splines/ krivky a povrchy, čo viacmenej vyžaduje istú formu HW teselácie. A čo je ešte zaujímavejšie, aj pri PS2ke. Kde spracovanie vertexov na VU jednotkách a skok na GS rasterizér flexibilitou prechčije aj o mnoho rokov mladšie DX9c. Nič však nie je tak jednoduché, ak je reč o CELL architektúre, preto si SCE v prednáške o Phyre Engine veselo píše o teselácii terénu pomocou SPE, a ako smiešne málo výkonu im to spapá /strana 22/. Môžme len hádať /kým sa neobjavia prvé hry využívajúce najnovší build, sandbox dopekla/ či ide len lokálne zvýšenie komplexnosti, bez navýšenia celkového polygón budgetu /RSX !!/, alebo kontinuálny LOD bez skokov. Nedajboh o autonómny off-line SPE renderer.