12. 5. 2009

Jeden čihí, druhý hota

Tie textúry stoja stále za starú bagandžu. Napriek tomu, že sa píše rok 2009, a veľkosť pamäte veľmi lacnej mainstreamovej videokartu je niekde na 256 megovej značke. Teda 64 krát viac ako v starej Voodoo jednotke. V moderných hrách totiž rastie rýchlejšie počet textúr na scéne ako ich kvalita, a pamäťový budget sa preto rýchlo míňa, chabé rozlíšenie ostáva. Už povinný streaming dát je zas limitovaný rýchlosťou dostupnej mechaniky, a jej kapacitou. Dnes sa vývoj okrem štandardného postupu - tj. 1 858 rôznych textúr rôzneho rozlíšenia, typu, tona mipmáp, nekonečné lepenie jednej mačky cez druhú do výslednej maškarády - vydal dvoma diamatrálne odlišnými smermi. Hľadanie lieku.

Procedurálne textúry. Samé superlatívy. Ľubovoľné rozlíšenie, navyše ho môžte meniť za behu, nikdy teda z blízka neuvidíte rozplizlé mazanice. Jednou matematickou funkciou elegantne zmeníte okamžite stav textúry - nasimulujte beh času, hrdzu, jemnosť povrchu. Sú vo svojej podstate 3D, prechádzajú "skrze" objekt. Pri jeho reze/zničení sa teda automaticky vygeneruje jeho "vnútro". De fakto nulové požiadavky na priepustnosť systému. Extrémne dátovo úložne nenáročné. Index až 1:1000 proti klasike /2 megabajty klasických textúr v 2 kilovom proc.fx programe/. Táto hromada výhod však zjavne musí mať nejaký háčik. Tu sú.



príroda je ako hudba iba kopa čísel

Najvypuklejšou je desivá výpočetná náročnosť, duplom ak to má byť v reálnom čase, v dynamicky sa meniacich podmienkach. Dnes akceptovateľne riešiteľné hlavne na PS3ke /SPE-SIMD, PC GPU /, nájdete ich v rozumnom rozsahu aj v pripravovanom God of War /viď strana 17, ak to chce niekto biele na čiernom/. Na Xcrape iba v hrách triedy Tetris, alebo Pong. Problémom čislo dva je sám editor textúr - tá matematická funkcia totiž v praxi nie je nič iné guľáš Fourier a Wavelet transformácii, všetko zamiešané Perlin noise algoritmom. Artisti horko zaplakali. Nemusia, generovanie procedurálnych textúr už za nich vyriešili borci z Allegorithmic. Samozvaní špecialisti v tomto odbore. Názorné ukážky zo života, z ich stránky. Ak ste si spomenuli na tú 96 kilovú hru .kkrieger, tak tá tiež používa tieto procedurálne techniky, a dev tím už dokonca ponúka vlastné prostredie .werkkzeug 3 TE /TE ako texture edition/. Nemusím vám však spomínať isté nepopulárne "procedurálne" obmedzenie - s jeho pomocou COCA COLA textúru s vysmiatym Satan Klausom určite nevyrobíte. To je parketa pre ..

Megatexture. Aj keď panuje všeobecné prevedčenie, že ide o vynález Carmacka pre jeho ID5 tech engine. Nie je to pravda. On to "iba" rozpracoval, a efektívne implementoval. Ako som povedal. Ide o úplne odlišný prístup. Žiadne generovanie, a žhavanie CPU/GPU na doraz. Žiadne tisícky pidi textúr, kde aj slepý vidí, kde sú zošité /tilling artefakt/. Na všetko stačí jeden moloch - megatextúra veľká aj 32.768 x 32.768 pixlov, bratru natívne 4 giga, Targa formát /ďalšie verzie tejto technológie idú ešte ďalej/. V podstate je to jedno veľké plátno, na ktoré si maľujete čokoľvek bez akýchkoľvek obmedzení. Každý centimeter terénu môže byť unikátny, originálny /obrázok pušte je z hry - Enemy Territory: Quake Wars/.



bez BD kapacity ani ránu, s DVD iba taký malý puk

Globálne technologické výhody - prekvapujúco nízka spotreba videopamate obsadenej bufferom pre textúry, cca 20 mega /pričom sa ráta s piatimi mipmap úrovniami, voliteľná úroveň kompresie pre jednotlivé mipmapy + detail a specularity mapami/. Toto množstvo postačuje pre luxusný streaming megatexture terénu, a navyše ostáva prakticky konštantné veľké. Samotný streaming a dekompresia zapakovaných kúskov môže byť rozhodená medzi viac HW threadov. Statické lightmapy alebo tiene v ľubovoľnom množstve sú zadarmo, a bez efektu na celkový výkon. Sú predsa napevno vpálene do primárnej textúry !!

Nevýhody - spomeniem iba jednu, v poslednej revízii boli tie menej podstatné už vyriešené. Obludná náročnosť na úložné miesto na optickom médiu. Ako vieme, RAGE bude v Xcrap verzii na dvoch DVD práve z tohto dôvodu, pričom chceli pôvodne tri placky, že sa hry kvôli billovi musia zásadným spôsobom degradovať, sme si zvykli. Desivejšie je, že by bolo možné takýmto spôsobom omapovať z veľkej časti aj GTA4 - 50 giga na siedmych DVD diskoch by však asi xboti nepredýchali. Toľko k tomu, KTO tu vlastne brzdí rozvoj herných technológii a designu vôbec.