Grafická karta bez tajemství

1. 1. 2005

Sdílet

Rozumíte všem pojmům okolo grafických karet? "Displacement Mapping" nejvyšší čas zjistit, co to znamená. Každý, kdo čte technické informace o své grafické kartě, často rozumí snad...

Rozumíte všem pojmům okolo grafických karet?


„Displacement Mapping“ nejvyšší čas zjistit, co to znamená. Každý, kdo čte

technické informace o své grafické kartě, často rozumí snad jen spojkám a

předložkám. V tomto článku vám všechny důležité funkce vysvětlíme jak obrázkem,

tak slovem.

Nejen náruživí hráči počítačových her při nákupu nové grafické karty často

narazí na výrazy typu High Dynamic Range. Velmi oblíbené jsou i nicneříkající

superlativy, jako „CineFX 3.0 Engine působivé kinoefekty proti síle myšlenky“.

Dnes si stručně vysvětlíme, co se za těmito slovy skrývá, a vy se můžete sami

rozhodnout, zda by vám nestačil třeba jen „CineFX 2.0 Engine“.



Základy

Ve své podstatě jsou úplně všechny novější grafické karty uspořádány stejně:

jejich srdcem je čip, často nazývaný Graphic Processing Unit (GPU). Moderní GPU

obsahují až 222 milionů tranzistorů.



1.Shader

GPU moderních karet má k dispozici dva typy shaderů. Vertex Shader vytváří z

mnohoúhelníků trojrozměrné objekty, umisťuje je do prostoru a stará se o

světelné efekty. Pixel Shader u trojrozměrných objektů definuje barvu a

průhlednost všech obrazových bodů, a tím abstraktnímu objektu jakoby vdechuje

život. Firma nVidia používá u svých novějších grafických čipů Geforce 6800

(Ultra) Shader Model 3.0, nazývaný CineFX 3.0 Engine. Naproti tomu ATI používá

u Radeonu X800(XT) ještě specifikaci 2.0. Která verze je lepší? Výhodou

standardu 3.0 je jeho teoreticky neomezená flexibilita. Zatímco Shader 2.0

např. obarvuje mnohoúhelníky jen předem stanovenými barvami, dokáže Shader 3.0

barvy dynamicky měnit v závislosti na úhlu dopadajícího světla. Standard 3.0

podle Microsoftu plně využívá až DirectX 9.0c. Navíc se nesmí zapomenout na to,

že zdrojový kód 3D programu musí dynamické možnosti, které standard Shader 3.0

nabízí, podporovat. Takové programy jsou i dnes stále poměrně vzácné. Počítá

se, že programátoři naplno využijí možností standardu 3.0 až v průběhu příštích

měsíců.



2.Pipelines a tvorba obrazu

Oba již zmíněné druhy shaderů jsou umístěny v pipelines grafického čipu. A

právě pipelines mají na starosti tvůrčí práci shaderů a počítají (neboli

renderují) z nich jednotlivé obrazy tím, že stanoví rozmístění a barvu každého

bodu na monitoru. Celý výpočet trvá jen zlomek vteřiny a velmi dobře ilustruje

výpočetní výkon dnešních GPU, které jsou v mnoha směrech komplikovanější než

hlavní procesory počítačů. Paměťový řadič grafické karty pak pošle vytvořený

obrázek do operační paměti grafické karty a teprve potom na obrazovku. Obecně

platí, že čím vyšší je frekvence GPU a počet pipelines, tím rychleji grafický

čip obrázek renderuje. Čím vyšší je frekvence paměti a čím propustnější je

paměťová sběrnice karty, tím více informací dokáže řadič paměti zpracovat.



3D funkce

Technický pokrok se u žádné počítačové komponenty neprojevuje tak zřetelně jako

právě u grafických karet. Hnacím motorem jsou v tomto případě především

požadavky hráčské obce. Důsledkem je skutečnost, že výrobci grafických čipů

přicházejí v půlročních intervalech se stále novými funkcemi. Naproti tomu to

zpravidla trvá jeden až dva roky, než se objeví 3D aplikace, které jsou tyto

nové funkce schopné využít. V následujících odstavcích vám nabízíme objasnění

významu těch nejdůležitějších, popřípadě nových funkcí grafických karet.



3.Alpha Blending

Slouží ke správnému zobrazení průhledných objektů jako jsou okna nebo vodní

plochy. Přitom každý obrazový bod dostane ke své hodnotě pro barvu přiřazenu

ještě hodnotu Alpha, která vyjadřuje míru transparentnosti (průhlednosti).



4.Anizotropní filtrování

Umožňuje ostřejší zobrazení povrchové struktury (textury) u velmi vzdálených 3D

objektů. Podle typu grafické karty lze nastavit stupeň kvality od 2× do 16×.

Ovšem i tady platí, že čím vyšší kvalita, tím vyšší jsou i nároky na výkon GPU.



5.Anti-aliasing

Vyhlazení hran zjemňuje u přímých linií rušivé schodovité (zubaté) efekty a

„třpyt“ hran při trhavých rychlých pohybech kamery. Existují dva druhy

anti-aliasingu: prvním je Edge Anti-Aliasing, kdy grafický čip vyhlazuje pouze

hrany dvou sousedních polygonů nebo jejich textur, Full Screen Anti-Aliasing

(FSAA) pak vyhlazuje hrany v celém obrazu.

Tuto funkci nastavujete v ovladačích grafické karty a 3D programech. V

závislosti na typu karty lze nastavit kvalitu vyhlazování od dvoupo

šestnáctinásobnou. S rostoucím rozlišením obrazovky se schodovité efekty i lesk

hran snižují. Obecně platí, že čím vyšší je úroveň anti-aliasingu a rozlišení,

tím vyšší bude kvalita obrazu a současně porostou nároky na výkon GPU.



6.Bump Mapping

Vytváří na hladkém povrchu trojrozměrný efekt, pokud na nějakém 3D objektu leží

textura, která má vrhat stín.



7.Clipping

Clipping šetří grafické kartě práci tím, že před zobrazením 3D objektu vypočítá

všechny jeho neviditelné plochy.



8.Lens Flares

Pokud dopadne paprsek světla na nějaký optický systém, např. na čočku

dalekohledu, pak tato funkce spočítá fyzikálně přesně kruhový nebo hvězdicový

efekt odlesku a oslnění.



9.Displacement Mapping

Vývojáři používají tento typ textury, aby dodali trojrozměrnému obrazu krajiny

zdání výšek a hloubek. Všechny povrchové struktury jsou přitom neustále ve

vzájemné interakci s okolím: mohou vrhat vlastní stíny a měnit formu např.

pokud dojde k výbuchu sopky. Shader Model 3.0 je dokonce schopen zobrazení v

reálném čase.



10.Environment Bump Mapping

Tento texturový efekt dodává do 3D objektů další povrchovou strukturu, aby se

tyto objekty vůči svému okolí fyzikálně správně zrcadlily. Používá se třeba u

vody nebo skla či lesklých povrchů obecně.



11.High Dynamic Range

Umožňuje při nastavení světlosti objektu poněkud lepší možnost odezvy. Pokud

např. stojí pozorovatel v nějakém tmavém prostoru, do něhož otvorem proniká

sluneční světlo, pak tmavé oblasti místnosti už nejsou tmavé jako v noci, nýbrž

získají i v detailech světlejší nádech.



12.Mip Mapping

U této techniky existují určité textury ve více stupních kvality, přičemž to,

jak kvalitní textura se použije, závisí na vzdálenosti objektu od pozorovatele.



13.Morphing

Jeho pomocí se dá 3D objekt plynule přeměnit na jinou formu.





14.Motion Blur

U rychle se pohybujících 3D objektů simuluje mírné rozostření, které známe z

reálného světa.



15.Multitexturing

Místo jedné povrchové struktury se při použití funkce Multitexturing přiřadí 3D

objektům několik textur. Např. kovový sud má jednu texturu pro svůj typický

vzhled, druhá dodává sudu patinu rzi a třetí simuluje vlastnosti odrazu, které

se získají z kombinace obou předcházejících textur.



16.Perspective Correction

Pro pozorovatele se povrchové struktury ve trojrozměrném prostoru jeví jako

zkreslené, pokud postupujete shora směrem dolů. Funkce Perspective Correction

tento efekt napodobuje takovým způsobem, že reprodukuje textury špatně z

hlediska výpočetního, ale správně z hlediska perspektivy.



17.Procedural Texturing

Tento typ textury je ideální pro zobrazení 3D objektů, jejichž povrchová

struktura se neustále mění, což je třeba příklad vody. Zde se nepoužívají žádné

předem připravené textury, ale povrch se neustále dynamicky ve správný čas

přepočítává.



18.Real Time Shadows



Objekty, které vrhají stín, vypadají ve virtuálním trojrozměrném světě daleko

realističtěji. Při použití funkce Real Time Shadows lze stíny počítat v reálném

čase. Do výpočtu jsou přitom zahrnuty prakticky všechny změny objektu, a tím i

změny osvětlení. Funkce Multiple Real Time Shadows zohledňují při výpočtech

stínů změnu umístění většího počtu pohybujících se objektů.



19.Textura

Jedná se vlastně o dvojrozměrný obrázek, jenž propůjčuje abstraktnímu 3D

objektu povrchovou strukturu. I pohybující se dvojrozměrný objekt se dá použít

jako textura, např. proto, aby simuloval obrazovku zapnuté televize.



20.Komprese textur

Čím vyšší je rozlišení textury, tím realističtěji 3D objekt vypadá. Aby textury

v paměti grafické karty nezabíraly příliš místa, popřípadě aby bylo okamžitě k

dispozici větší množství textur, používají moderní 3D aplikace komprimované

textury. Vcelku samozřejmou podmínkou je, aby GPU i DirectX podporovaly metody

komprese textur. Nejpoužívanějšími metodami přitom jsou S3TC a DXTC. U karet

ATI generace Radeon X je poměrně novou metodou 3DC, což je velmi účinná

kompresní metoda, kterou bohužel DirectX 9.0c nepodporuje.



21.Ultra Shadow I a II

Technologie výpočtu stínů v reálném čase od firmy nVidia šetří výpočetní

kapacitu tím, že počítá stíny, vržené pouze objekty v zorném poli pozorovatele.

Ultra Shadow II rozšiřuje verzi I o další specialitu: programátoři mohou pomocí

této funkce stanovit v prostoru virtuální hranice, v nichž budou zdroje světla

ovlivňovat stín jednotlivých objektů.



22.Z-Buffering

Tato funkce porovnává informace o hloubce barev u těch obrazových bodů, které

mají v dvojrozměrném prostoru stejnou pozici. Může tak všechny body, které

nejsou pro pozorovatele v trojrozměrném prostoru viditelné, vyčlenit a vůbec je

na monitoru nezobrazit.