Jak do skoly bez uceni

3D Grafika 2

7.1.2009 21:26 | g0esh4cks | 

3d grafika se každým dnem vyvíjí bleskovou rychlostí. Například ještě to není tak dávno, co byla grafická karta VOODOO 3 3000 absolutní špičkou ve světě trojrozměrné grafiky. Tehdy měla tato karta 16Mb SDRAM, 350 Mhz RAMDAC a samozřejmě maximální výkon. Dnes již nezbývá mnoho dní k vydání nové graf. karty VOODOO 5 6000, která bude ve srovnání s předešlou VOODOO 3 absolutním bohem. Bude totiž vyzbrojena 4 čipy VSA-100 a 128 MB SDR a bude stát asi 20 000 Kč. Tato karta bude mít navíc své vlastní napájení a již zmíněné čipy VSA-100 budou mít každý svůj vlastní aktivní chladič. No, ale abych tu nevyprávěl jenom o neznámých pojmech, tak vám nějaké zkusím vysvětlit.

Pojmy, týkající se akceleračního hardware

Z čeho se vlastně taková grafická karta skládá? Každá grafická karta se skládá z několika základních komponent: Videočipsetu, což je procesor, grafické a akcelerační funkce; video BIOSu, který poskytuje základní funkce pro ovládání karty; paměti ve které je uložen frame buffer, RAMDAC pro vytváření analogového videosignálu a interface(PCI nebo AGP)

16ti, 24ti, a 32ti bitové barvy
barva každého pixelu může být uložena s různou přesností, neboli barevnou hloubkou. Nejstarší karty podporovaly barevnou hloubku 1 bit(černá a bílá),
4 bity(16 barev) 8 bitů(256 barev). Přechody mezi barvami jsou velmi ostré a proto používají modernější akcelerátory barevnou hloubku 16 bitů(65536 barev).

Dithering
Technika prokládání obrazu "tečkováním" tak, aby opticky vznikla iluze většího počtu barev. Tato technika dává vizuálně horší výsledky, než kdyby byl obraz tvořen větším počtem barev.

AGP(Akcelerated Araphics Port)
Speciální vysokorychlostní propojení systémovým čipsetem a AGP grafickou kartou. V současné době je standardem AGP 2x, ovšem moderní karty podporují AGP 4x; to ale není dosud podporováno na straně čipsetu (např. BX čipset AGP 4x nemá. AGP umožňuje použití větších textur a je schopné v jisté míře kompenzovat nedostatek paměti na akcelerátoru; nabízí také texturování z hlavní paměti počítače. Původně mělo AGP ušetřit drahou paměť na videokartě, ale dnes je jeho smysl spatřován jednak ve větší špičkové přenosové kapacitě, než má PCI(hodí se v okamžicích, kdy se ve scéně náhle vymění všechny textury), a jako "záchranný pás", díky němuž nemusí uživatel kupovat stále nové karty s větší pamětí. AGP dokáže s jistou výkonovou penalizací simulovat velkou paměť.

Frame buffer
Je paměť, která obsahuje několik obrazů- front buffer, back buffer a Z-buffer. Velikostí framebufferu je omezeno rozlišení, kterého je akcelerátor schopen dosáhnout. Např. akcelerátor se 4 MB paměti dovede v 16ti bitové barevné hloubce vytvořit obraz s rozlišením 1600x1200, který vyžaduje 3,57 MB. Pokud ale program používá Z-buffer, bude velikost zobrazení omezena na 800x600, protože 800x600 x6 (2 byte pro front buffer, 2 byte pro back buffer a 2 byte pro Z-buffer) dává 2,75 MB. Akcelerace v 1024x768 by vyžadovala 4,5 MB paměti, což na kartě se 4 MB paměti nemůže fungovat.

Front buffer
Je paměť, ve které se ukládá právě viditelný obraz.

Back buffer
Je paměť, ve které se ukládá připravovaný obraz. Po dokončení obrazu se front a back buffer prohodí. Tomuto systému se říká Double buffering.

Z-buffer
Je paměť, která obsahuje údaj o "hloubce" zobrazeného pixelu. Normálně se souřadnice zobrazených pixelů udávají pouze v matici X,Y. Ovšem třetí souřadnice Z(hloubka) může být uložena v Z-bufferu, který umožňuje snadno rozpoznat, který objekt je dál a který blíže, což se dá efektivně využít např. při modelování mlhy.

RAMDAC(Random Access Memory Digital-Analog converter)
Zařízení, které převádí obsah front framebufferu na analogový výstupní. V paměti karty je obraz uložen v podobě digitální, ale většina monitorů je analogových, proto musí RAMDAC mnohokrát za sekundu načíst obsah paměti a překódovat ho na videosignál. Kvalita obrazu závisí na tom, zda-li je RAMDAC zabudovaný přímo v akceleračním čipu nebo externí(ty bývalí lepší, ovšem nyní se rozdíly smazávají) a v tom na jaké frekvenci pracuje- 250Mhz RAMDAC je ve vyšších rozlišeních obvykle lepší než 135Mhz RAMDAC.

Single buffering: renderer, frame buffer(front buffer), DAC, výstup na monitor. Double buffering: renderer, frame buffer(back buffer), frame buffer(back buffer), DAC, výstup na monitor.
Triple buffering: renderer. Frame buffer(back buffer), frame buffer(back buffer), frame buffer(back buffer), DAC, výstup na monitor.