Belépés
Elrejt
BEJELENTKEZÉS
Azonosító
Jelszó
 
3dfx FXT1 technológia előzetes
3dfx FXT1 technológia előzetes
1999.09.15.

A textúratömörítés jelentősége vitathatatlan.

A textúratömörítés jelentősége vitathatatlan. A minél tökéletesebb valósághűség és szebb képminőség érdekében nagyobb és részletesebb textúrákat kell használni, ám növekedésük mértékével arányosan emelkedik a memóraigény és súlyosbodik a szűk sávszélesség problémája. Ez azonban nem lehet gátja egy rendkívűl jelentős minőségi ugrásnak, ami az alábbi példán jól látható. A bal oldali 256x256 texeles textúra homályos, és részletessége komoly kívánnivalót hagy maga után. A jobb oldali 2048x2048-as változat azonban már sokkal tisztább, élesebb és jobb képet ad. S nem szabad feledni, hogy a multitexturinget használó játékokban ráadásul kétszeresen kell fizetni a nagyobb élvezetért... Az S3TC Az első áttörést az S3 Savage3D-ben bemutatott S3TC jelentette. Működése elve meglehetősen egyszerű. A tömörítendő textúrát 4x4 texeles blokkokra bontotta, amelyeket egy algoritmus segítségével tömörített le. A blokkból két 16 bites szín került kiválasztásra, amelyek interpolálásával még két továbbit számított ki a technológia, a blokk valamennyi (16) pixele pedig ebből a négy értékből választhatott színt. A 16 bites színmélységet így 4 bitre redukálva csökken az információmennyiség, s így végső soron a méret is. (Ha a textúra átlászó volt, akkor a négy közül az egyik bit ezt határozta meg, s így ezesetben csak három szín maradt.) Az S3TC azonban sajnálatos módon kudarcot vallott, dacára annak, hogy a Microsoft beépítette a DirextX-be (a 6.0-ás verziótól kezdve), miután a gyártónak nem sikerült kellő támogatottságot szereznie, ami nem kis részben annak volt köszönhető, hogy a Savage3D nem aratott osztatlan sikert. Az FXT1 És itt lép be a képbe a képminőség elhanyagolásáért mindig is sokat szidott 3dfx, akinek az 1999 szeptember 14-én bejelentett FXT1 technológiáját a 4textúratömörítés új korszakának tartják. Az egyik legnagyobb újítást az jelenti, hogy négy különböző algoritmus áll rendelkezésre az S3TC egy megoldása helyett, amelyek közül ki lehet választani a legjobb képminőséget biztosító megoldást. Mindegyik esetben 4 bites textúrákat kapunk: CC_Mixed: a jelenlegi megoldásokhoz hasonlóan 4x4 texeles részekre bontja a textúrát, kiválaszt két 16 bites (úgynevezett elsődleges) színt, ezek interpolálásával meghatároz még kettőt, s ebből a négy lehetőségből választhat a blokk valamennyi texele, mégpedig egy két bites mutató (index) segítségével. Átlátszóság esetén a négy közül az egyik szín lesz átlátszó. CC_Hi: 4x8 texeles darabokra oszt, kiválaszt két 15 bites színt, amelyek interpolálásával kiszámíti még öt másikat, valamint nyolcadikként meghatároz egy átlátszó színt. A blokk valamennyi texele az így megjelölt nyolc lehetőségből választhat, egy 3 bites mutató révén. CC_CHROMA: a csak átlátszatlan texeleket támogató megoldás ugyancsak 4x8 texeles blokkokra osztja a textúrát, ám itt négy 15 bites szín kerül kiválasztásra, többet pedig nem számít ki a technológia. (Ezért is nem alkalmas az átlátszó textúrákhoz, mivel itt átlátszó szín nincs.) A mutató itt is két bites. CC_ALPHA: minden egyes 4x8 texeles blokkon belül kiválasztásra kerül három 20 bites szín. Ezek közül az első és a második a baloldali 4x4-es blokk elsődleges színei, a második és a harmadik pedig a jobboldalié. Ezek segítségével négy további színt határoznak meg, mégpedig kettőt az első és a második, kettőt pedig a második és a harmadik elsődleges szín interpolálásával. A blokk texelei egy két bites mutató segítségével találják meg a számukra megfelelő értéket. A készítők szerint az FXT1 több szempontból is jobb, mint az S3TC: sokkal hatékonyabb, s ugyanakkor szebb képminőséget is ígér, hiszen a körülményekhez igazodva négy különböző megoldás közül lehet kiválasztani a legideálisabbat, ráadásul minden egyes blokkra külön-külön - magyarán egy több részre osztott textúra egyes porciói más és más "elbánásmódban" részesülhetnek. Joggal merülhet fel a kérdés: dacára mind e szép ígéretnek, nem lesz rossz hatással a tömörítés a képminőségre? Nos, elméletben természetesen van, de ez a gyakorlatban szinte egyáltalán nem észrevehető. A technológia által lehetővé tett klasszisokkal nagyobb és részletesebb textúrák ugyanis akarva-akaratlanul elnyomják a csökkent szímélység esetleges "káros" hatásait. A sebességre pedig effektíve szintén nincs hatással. A textúrák tömörítését a játékfejlesztők már eleve biztosíthatják úgy, hogy a programhoz "gyárilag" mellékelik az FXT1 formátumú verziókat, de természetesen ez megtörténhet valós időben is, egy helyszín betöltésekor. Magyarán bárhogy is legyen, a játéktéren már nem lesz gondunk vele. A kitömörítés pedig nem a hagyományos értelemben vett kitömörítés, voltaképp csak dekódolás - a hardvernek csak meg kell találnia az utat a megfelelő algoritmushoz, s onnan már könnyedén megy (kiemelve, hogy itt - ahogy az S3TC esetében is - hardveres támogatásról van szó, tehát nem szoftveresen történik!). A textúratömörítés vitathatatlan elméleti előnyét az alábbi táblázat jól szemlélteti, megmutatva hogy különböző méretű textúrák különböző szímélységekben mekkora helyet foglalnak. Jól látható, hogy a 32 bites megoldáshoz képest az FXT1 segítségével a nyolcadára csökkenthető a méret! Konklúzió Mi lesz az FXT1 sorsa? Nehéz kérdés. Az eddig megismertek alapján egy roppant érdekes technológia, ám ne feledjük: a látszat néha csal. Igazság szerint egyelőre nincsenek olyan meggyőző érvek mellette, mint például az S3TC esetében az Unreal-engine-re épült különböző extra helyszínek. A 3dfx technikai dokumentációjában mellékelt állóképek pedig sajnos nemigen alkalmasak arra, hogy helyesen megítéljük, mi az igazság. Ahogy a GeForce 256 Cube Environment Mapping-je esetében, itt is igaz, hogy az első kártyák piacra kerülésekor majd meglátjuk... Az mindenesetre bíztató, hogy a gyártó szerint a technológia implementálása könnyű és támogatja a Direct3D, az OpenGL (Windows, Linux és Macintosh platformon egyaránt), valamint természetesen a Glide is. Emellett teljesen ingyenesen hozzáférhető mind a szoftver-mind a hardverfejlesztők számára - a 3dfx szeretné ipari szabvánnyá tenni... Bárhogy is legyen, egyvalaki biztosan örülhet a kezdeményezésnek - nevezetesen az S3. A 3dfx következő generációs terméke ugyanis nemcsak az FXT1, hanem az S3TC hardveres dekódolását is támogatja, ami azt jelenti, hogy a fejlesztők szabadon dönthetnek egy olyan megoldás mellett, melyet (egyelőre) csak a 3dfx gyorsítója használ, illetve egy olyan alternatíva mellett is, amely már szélesebb körű elismertséget nyert... A Hardware cikke alapján