Hardwarové T&L

Až dosud byly možnosti grafických karet při zobrazení trojrozměrného světa vyrovnané. Cesty vývoje se však výrazně oddělily (aby se po čase opět spojily) a proti sobě stojí dvě tajemná označení – T&L a T-buffer – do detailu zpracované objekty vs. přirozenější obraz nebo chcete-li nVidia vs. 3dfx.
Až dosud byly možnosti grafických karet při zobrazení trojrozměrného světa vyrovnané. Cesty vývoje se však výrazně oddělily (aby se po čase opět spojily) a proti sobě stojí dvě tajemná označení – T&L a T-buffer – do detailu zpracované objekty vs. přirozenější obraz nebo chcete-li nVidia vs. 3dfx.

Vývoj grafických karet určených pro běžné uživatele (což zahrnuje především hráče počítačových her) je často spojován se slovem revoluce. Většinou se však jedná o přizpůsobení již existující technologie a její prodej za zlomek původní ceny. Do této kategorie patří i hardwarové T&L neboli převedení výpočtů spojených s transformacemi a osvětlením z procesoru na grafickou kartu. Hardwarové T&L jsou předmětem tohoto článku, T-buffer bude předmětem druhé části, jen co se objeví nové grafické karty Voodoo 4 a 5 s čipy VSA-100 od 3dfx.

Úvodem zmíním postup vedoucí k zobrazení trojrozměrného světa na obrazovce počítače, který je k pochopení T&L nezbytný, jedná se totiž o jednu z jeho nejdůležitějších částí. Ve druhé části článku se budu věnovat přínosu, ale také různým nárokům, které přináší hardwarové T&L.

Transformace a osvětlení
K objasnění tohoto pojmu je třeba vrátit se k definici problému a postupu jeho řešení. Problém je definován takto: Je dán trojrozměrný svět, ve kterém je umístěn pozorovatel (uživatel). Známe jeho polohu, orientaci a směr, kterým se dívá. Cílem je zobrazit to, co pozorovatel vidí, na obrazovce monitoru (nebo jiném výstupním zařízení). Postup řešení můžeme rozdělit do několik kroků, jeho velmi zjednodušenou podobu jsem převzal z materiálů firmy nVidia.

1. Zpracování vstupu, úprava světa
Aplikace převezme vstup uživatele (stisk klávesy, pohyb myši …) a provede odpovídající změny (změna polohy pozorovatele …). Zajistí také simulaci světa (pohyb objektů, změna vlastností objektů …).

2. Tvorba scény
Aplikace na základě polohy, orientace a směru pohledu pozorovatele vybere část světa, která by mohla být viditelná a kterou budu dále nazývat scénou. Tuto scénu popíše a předá ji grafické kartě (přesněji řečeno jejím ovladačům) prostřednictvím volání služeb grafického rozhraní (DirectX, OpenGL …). V současnosti jsou objekty tvořící scénu reprezentovány svým povrchem, který je většinou tvořen sítí trojúhelníků. Polohu jejich vrcholů udává trojice souřadnic (pro každý rozměr jedna), které závisí na zvoleném souřadném systému. Souřadných systémů však existuje více (v našem případě 3 až 4), neboť řešení některých problémů v průběhu vykreslování se změnou souřadného systému výrazně zjednoduší.

Souřadnice vrcholů závisí na zvoleném systému (volbě jeho os), který představuje jiný způsob pohledu na stejný prostor. Podle zvoleného systému pak prostor nazýváme různě, např. prostor, ve kterém je definován svět, se nazývá world-space.

3. Transformace
Aby bylo možné se scénou dále pracovat, je třeba ji převést – transformovat do souřadného systému pozorovatele (eye-space). Vhodné přirovnání lze najít ve skutečném světě. Pozorovatel (člověk) používá systém souřadnic, který mu umožňuje určit polohu objektů – vlevo | vpravo, nahoře | dole, vpředu | vzadu. Předpokládejme, že na počátku je totožný se souřadným systémem světa. Otočí-li se pozorovatel např. doprava, poloha objektů se pro něj změní. Jinými slovy, změní se souřadnice objektů v prostoru pozorovatele, zatímco v prostoru světa zůstávají stejné (pokud se objekty nepohybují). V naší situaci se však pozorovatel (uživatel sedící u počítače) nepohybuje. Chce-li se z výchozí polohy např. otočit o určitý úhel doprava, je třeba scénu otočit o stejný úhel doleva – provést transformaci z prostoru světa do prostoru pozorovatele pro všechny vrcholy objektů tvořících scénu. Můžete se podívat na obrázek Transformace, který obsahuje všechny prováděné transformace. První z nich, tedy transformace z prostoru objektu do prostoru světa, je prováděna pouze pro některé objekty, především ty, které se ve světě vyskytují vícekrát, a bylo by tedy zbytečné je duplikovat. Stačí jejich popis uchovat jen jednou a zapamatovat si transformaci, která zajistí jejich umístění do světa, v našem případě je to např. otočení o 90 stupňů doprava a posunutí dozadu. Transformaci z prostoru světa do prostoru pozorovatele jsem už zmínil výše a na poslední transformace dojde v popisu pátého kroku. Pod každým obrázkem objektu v jednom z prostorů jsou uvedeny souřadnice jednotlivých bodů, takže si můžete udělat dobrou představu, jak celý proces probíhá.

Transformace 1/2Transformace 2/2

4. Osvětlení
Je-li scéna transformována, je třeba ji osvětlit. Na základě zvoleného světelného modelu a druhu světelného zdroje je určena barva patřičných vrcholů. Např. bodový světelný zdroj vysílá světlo určité barvy všemi směry stejně. Barva zasaženého vrcholu je tak dána (kromě jiného) barvou světelného zdroje a útlumem, který závisí na vzdálenosti. Složitější výpočty jsou spojeny např. se směrovým světelným zdrojem (baterka …), kde je nutné brát v úvahu také jeho orientaci (plocha před baterkou je osvětlená více než plocha více napravo).

5. Příprava k vykreslení
Před vykreslením je třeba provést ještě jednu transformaci, a to z prostoru pozorovatele do prostoru obrazovky (screen-space). Jde o perspektivní promítání, kdy je bod trojrozměrného prostoru (eye-space) promítnut do dvojrozměrného prostoru obrazovky. V tomto kroku jsou také odstraněny nebo ořezány trojúhelníky, které zasahují mimo obrazovku.

6. Vykreslení
Scéna je konečně zobrazena. Objekty jsou pokryty texturami, na základě barvy vrcholů jsou dopočítány barevné příspěvky bodů povrchu objektů, je vyřešena viditelnost objektů.

Uvedený postup je opakován při tvorbě každého snímku (frame). Grafické karty přitom vykonávaly pouze jeho malou část – poslední dva kroky bez perspektivního promítání. Vše ostatní zůstalo na procesoru. Transformace a osvětlení jsou přitom výpočetně náročné a současné procesory (např. Intel Celeron 500 MHz) zvládnout transformovat a osvětlit (8 světelných zdrojů) přibližně 600 000 trojúhelníků za sekundu. Při 60 snímcích za sekundu tak dostáváme omezení složitosti scény – 10 000 trojúhelníků, což není moc, např. postava Lary ve hře Tomb Raider IV je tvořena přibližně 600 trojúhelníky. Výpočty spojené s transformací a osvětlením však vyžadují pouze 3 základní aritmetické operace – sčítání, násobení a odmocňování. Je tedy logické navrhnout jednoúčelovou, zato však velmi rychlou jednotku, která by tyto operace prováděla, tedy přesunout výpočty spojené s T&L z procesoru na čip grafické karty. Hlavní výhody jsou dvě:

  • Možnost výrazného zvýšení složitosti scény, což znamená více detailů.
  • Snížení zátěže procesoru, který lze využít např. na lepší animaci postav, detekci kolizí nebo umělou inteligenci (věrohodnější svět).
Kde jsou však klady, jsou i zápory. Na první pohled by se mohlo zdát, že kartu s podporou T&L lze dobře využít i ve spolupráci se slabším procesorem. To je sice pravda, na druhou stranu si však kartu zřejmě kupujete proto, abyste její možnosti využili naplno. Větší množství detailů však znamená větší množství dat, které je třeba zpracovat a poslat grafické kartě, což klade vysoké nároky jak na procesor, tak především na propustnost cesty mezi procesorem, pamětí a grafickou kartou. Budete-li tedy v budoucnu chtít naplno využít možností T&L na grafické kartě (hardwarové T&L), počítejte s rychlým procesorem a AGP 4×.

Hlavním (ale pouze dočasným) nedostatkem hardwarových T&L je však neexistence aplikací, které by ukázaly jejich možnosti. V oblasti grafických karet pro běžné uživatele jde totiž o velmi mladou technologii a jediný dostupný čip je GeForce 256, který můžete najít např. na kartě Creative 3D Blaster Annihilator recenzované v Computeru 24/99. Aby mohla aplikace využívat hardwarové T&L, musí především využívat služeb OpenGL nebo DirectX 7 (a vyšší). Pokud však aplikace služeb těchto rozhraní využívá, neznamená to ještě využití hardwarových T&L (Unreal Tournament …), obě rozhraní tuto možnost pouze nabízejí.

Zajímavým příkladem je Quake 3: Arena, který využívá služeb OpenGL a může využít i hardwarové transformace. Výsledky (počet snímků za sekundu) při použití grafické karty s čipem GeForce 256 a středního množství detailů se příliš neliší od některých grafických karet, které hardwarové T&L neobsahují. Důvod je jednoduchý – současné hry musí být přijatelně rychlé na grafických kartách, které jsou nejrozšířenější, a právě ty hardwarové T&L neobsahují. Tomu odpovídá i složitost scény, která je volena tak, aby se s ní dobře vypořádal i průměrně rychlý procesor. Jednotka T&L je tedy vytížena pouze z malé části a do hry tak vstupují jiná omezení, především fill-rate. Pokud by se složitost scény zvýšila, přestal by procesor stačit, zatímco jednotka T&L by stále měla dostatečnou rezervu. Řešením je např. škálovatelnost, což znamená, že u grafické karty bez podpory T&L jsou použity objekty s malým množstvím detailů, zatímco u karet s podporou T&L se množství detailů zvyšuje. Toto řešení je však náročné na implementaci, a proto se míra detailů většinou stanovuje pevně.

I když se výkon jednotky T&L může zdát dostatečný, je konečný, a jednou tak musí nastat situace, kdy grafická karta bez podpory hardwarových T&L, zato však s dostatečnou hodnotou fill-rate, dosáhne s pomocí rychlého procesoru lepších výsledků než karta, která je podporuje. Pokud tedy narazíte na strop výkonu jednotky T&L, tak vám rychlejší procesor nepomůže, zatímco v jiných případech ano, alespoň do okamžiku, dokud nenarazíte na konečný strop – maximální hodnotu fill-rate. Více však na toto téma v příští části.

Z uvedených poznatků plyne následující: přínos hardwarových T&L je zřejmý, je však třeba čas, aby se tato technologie prosadila. Osobně odhaduji alespoň 1 rok. Do té doby se snad hardwarové T&L stanou samozřejmostí a objeví se aplikace, které jich skutečně využijí. Investovat dnes do grafické karty s podporou T&L bych doporučil pouze technologickým nadšencům, karty jsou drahé, technologie se dále vyvíjí a chybí aplikace. Uvidíme za rok.

T&L v kostce
Výhody:

  • Výrazné zvýšení množství detailů (snad už konečně zmizí ploché stěny, podlahy a stropy, hranaté postavy a zjednodušené objekty)
  • Osvětlení nejen prostředí, ale také postav
  • Snížení zátěže procesoru, který lze využít ke zpracování mnohem dokonalejší iluze virtuálního světa.
Nevýhody:

  • Zatím neexistují aplikace.
  • Stále je potřeba výkonný počítač.
  • Technologie se neustále vyvíjí, takže současná řešení se nemusí ukázat jako nejlepší.
Více se dočtete v čísle 03/00 časopisu Computer.

Nejnovější komentáře

NEJČTENĚJŠÍ ČLÁNKY

Vybrali jsme nejlepší PC hry pod stromeček

Vybrali jsme nejlepší PC hry pod strom…

Toto je deset her, které byste rozhodně neměli při hraní na počítači vynechat.

18.  11.  2017 | | 11 N/A
Need for Speed Payback: nedostatečně rychle a zběsile (recenze)

Need for Speed Payback: nedostatečně r…

Po menší přestávce jsme se konečně dočkali dalšího dílu série Need for Speed. Prospěla závodům pauza stejně, jako novému asasínovi? To se dozvíte z naší recenze.

12.  11.  2017 | | 17 N/A
Městská akce Watch Dogs je na PC zdarma, stahujte!

Městská akce Watch Dogs je na PC zdarm…

Pokud jste ještě nedali prvním dílu této série šanci, nyní už nemáte žádný důvod akci nevyzkoušet.

7.  11.  2017 | | 2 N/A
Na PS Store startuje nová akce, najdete tam spoustu her pod tři stovky

Na PS Store startuje nová akce, najdet…

Chcete si doplnit svou digitální knihovničku konzole Playstation o pár parádních pecek? V obchodě máte skvělou akci.

16.  11.  2017 | | 4 N/A
Microsoft rozjíždí časově omezenou nabídku bundlů konzole Xbox One S

Microsoft rozjíždí časově omezenou nab…

Slevová mánie začíná.

12.  11.  2017 |
Playstation trofeje začínají mít smysl, dostanete za ně kredity

Playstation trofeje začínají mít smysl…

Pokud patříte mezi lovce trofejí na konzoli Playstation, vaše snažení dost možná nabere výraznější obrysy.

6.  11.  2017 | | 10 N/A
Testovali jsme Xbox One X: jde o nejvýkonnější konzoli na trhu?

Testovali jsme Xbox One X: jde o nejvý…

Tak je to konečně tady. Vyšel Xbox One X, nejvýkonnější konzole na trhu a dlouho opěvovaný klenot Microsoftu. Je to opravdu dobrá herní mašina nebo přeceněný favorit?

17.  11.  2017 | | 13 N/A
Cosplay: Když se z holek stávají vysněné krásky z videoher

Cosplay: Když se z holek stávají vysně…

Svět videoher se již dávno vymanil ze svého virtuálního rámce a čím dál tím více se prolíná s naším reálným životem a to v mnoha ohledech. Je ve vzájemném propojení s literaturou, filmovou či hudební tvorbou a ovlivňuje též intersociální vztahy. Jedním z pozoruhodných fenoménů v tomto ohledu je stále populárnější cosplay.

9.  11.  2017 | | 31 N/A