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

Herní projekt AQP City: když chcete GTA bez GTA

Herní projekt AQP City: když chcete GT…

Grand Theft Auto porodilo nespočet klonů, více i méně úspěšných. AQP ale vypadá jako zcela nový level.

včera |
8 největších herních zklamání roku 2017

8 největších herních zklamání roku 201…

Minulý rok přinesl hromadu skvělých her, bohužel však také mnoho zklamání. Těchto osm nás zamrzelo nejvíc.

9.  1.  2018 | | 9 N/A
10 největších herních překvapení roku 2017

10 největších herních překvapení roku …

Každý rok nás něčím zklame, zároveň však mnoha věcmi příjemně překvapí. Rok 2017 byl pro herní svět plný překvapení.

11.  1.  2018 | | 3 N/A
Hry roku 2018: pecky, na které se vyplatí zaostřit

Hry roku 2018: pecky, na které se vypl…

Musíte uznat, že minulý rok byl po herní stránce opravdu nabitý. Rok 2018 by ale snad mohl ten loňský ještě předčit. Některé z očekávaných pecek jsme pro vás vybrali, abyste se s námi měli na co těšit.

17.  1.  2018 |
Nové hry i na slabém počítači: Vyzkoušejte zdarma Geforce Now pro PC

Nové hry i na slabém počítači: Vyzkouš…

Společnost Nvidia představuje konečně i na PC službu GeForce Now, která vám dovolí hrát i ty nejnovější hry na slabších počítačích.

8.  1.  2018 | | 3 N/A
Playstation 4 v roce 2018: nejočekávanější hry platformy

Playstation 4 v roce 2018: nejočekávan…

Sice jste si u nás nedávno mohli přečíst o očekávaných hrách, tím ale ani zdaleka nekončíme. Letošní rok toho totiž přinese mnohem více než by se mohlo zdát. Začneme s tím, co se v tomto roce dostane na konzoli Playstation 4.

6.  1.  2018 |
DAKAR 18 budou pouštní závody v otevřeném světě pro PC, PS4 a Xbox One

DAKAR 18 budou pouštní závody v otevře…

Pokud jste fandové světového závodu Dakar a rallye vám také není cizí, rozhodně zaostřete na připravovaný projekt.

12.  1.  2018 | | 4 N/A
6 tipů na originální sci-fi pařby, u kterých se nebudete nudit

6 tipů na originální sci-fi pařby, u k…

Sci-fi žánr se opět vrací do formy, a to takovým tempem, že zombie nákazu zahnal do kouta. Jaké vesmírné pecky nás potěšily během posledních pár let?

10.  1.  2018 |