Grafické architektury. Základní model, paralelní architektury (8×8, Cohen– Demetresku, Pixel Planes, Pixel Flow, .). Architektury „sort–first , „sort– last , „sort–middle . Akcelerátory a grafické procesory.
Paralelní řešení obrazové úlohy:
Procesory: přiděleny podmnožiny objektů, řeší úplné zobrazení zpracovávaných objektů
Problém: variace doby zpracování objektu, nerovnoměrná zátěž procesorů
Speciální případ: dělení v parametrickém prostoru, parametrické pláty jsou před vybarvením rozloženy např. na trojúhelníkovou síť
Časová složitost: P.O(N/k) - k procesorů zpracovává současně k primitiv, každé z primitiv vyžaduje řešení max. P pixelů
Jednotlivým procesorům přiděleny části obrazového prostoru - pixel, řádka, souvislá část obrazového prostoru (skupina řádek, obdélníkové okno)
Distribuce objektů:
(1) všechny objekty jsou zaslány současně všem
procesorům, nebo
(2) předem roztříděny do podmnožin pro jednotlivé
procesory
Protože objekt pravděpodobně pokryje více oblastí děleného obrazového prostoru, musí být obecně zpracován několika procesory.
Časová složitost: N.O(P/k) - obrazový prostor dělen mezi k procesorů na části P/k pixelů, doba zpracování roste lineárně s počtem primitiv N
Primitiva: pixel, vektor, trojúhelník, lichoběžník
Viditelnost: paměť hloubky
Stínování: konstantní, Gouraud
Vyhlazování: –
Dělení: Dělení obrazového prostoru na 64 shodných částí.
Topologie: 2 úrovňový strom s uniformním větvením 1:8
Řízení: řádkové i sloupcové procesory pracují podle autonomních obvykle shodných řídících programů
Paralelismus: sloupcové procesory – SISD; řádkové procesory – SIMD
Primitiva: mnohoúhelníky
Viditelnost: paměť hloubky
Stínování: konstantní, Gouraud, Phong
Vyhlazování: –, možnost úpravy pro gz-bufer, kompozice, A-bufer
Dělení: v prostoru objektů; P pixelů a N objektů zpracováno k procesory při nejvýše P.(N/k) operacích
Topologie: cyklus procesorů uzavřený přes obrazovou paměť
Řízení: decentralizované; řeší autonomně rasterizaci objektu; volný procesor přebírá popis objektu od nadřazeného systému.
Paralelismus: MIMD (specializace procesorů )
Primitiva: lineární a kvadratické poloprostory
Viditelnost: sledování paprsku
Stínování: –
Vyhlazování: –
Dělení: kombinace funkčního dělení a dělení objektového prostoru
(1) vyhodnocení průsečíku paprsku s primitivem
(2) vyhodnocení CSG operace na intervalu
Topologie: binární strom
Řízení: decentralizované, synchronní komunikace s potvrzovacím protokolem
Paralelismus: SIMD
Primitiva: řádkové úseky
Viditelnost: paměť hloubky
Stínování: konstantní, Gouraud
Vyhlazování: –
Dělení: d. obrazového prostoru, 1 procesor/sloupec pixelů
Topologie: sériově řazené pixelové procesory
Řízení: synchronně podle vnějšího časování
Paralelismus: SIMD - každý pixelový procesor pracuje s daty jiného řádkového úseku
Primitiva: úsečky, trojúhelníky, konvexní n-úhelníky
Viditelnost: paměť hloubky
Stínování: konstantní, Gouraud
Vyhlazování: ne, možná modifikace se subpixelovým vzorkováním
Dělení: Kombinace funkčního dělení a dělení obrazového prostoru
Topologie: 2D-pole
Řízení: centralizované; instrukce a data generuje PP-překladač shodně pro všechny PP-buňky
Paralelismus: SISD
Primitiva: trojúhelník, lichoběžník
Viditelnost: paměť hloubky
Stínování: konstantní, Gouraud
Vyhlazování: - A-bufer
Dělení: funkčního dělení a dělení obrazového prostoru, specializované procesory - geometrický p. (5x), p. polygonů a výpočet sklonu, paralelně 7 hranových p., obrazový prostor: 5 x 4 obrazové p.
Topologie: 2D-pole
Řízení: decentralizované
Paralelismus: SIMD
Algoritmus řízení:
1. Geometrický procesor v každém R bloku transformuje přidělená primitiva a setřídí je podle 128×128 pix. oblastí obrazu.
2. Rasteriser spočte hodnoty pixelů pro všechna primitiva v oblasti a pro 1 vzorek antialising. jádra.
3. Poté, co všechny rasterizery dokončí oblast (krok 2), je složena přes kompoziční síť a předána do stínovače.
4. Kroky (2) a (3) jsou opakovány pro každý vzorek a pro všechny oblasti. Lze využít proudové řazení (překrytí) rasterizace a kompozice.
Evaluátory - jednotka spracovania vstupných príkazov (skript)
Podle místa, kde nastává třídění:
Třídí 3D primitiva.
Třídí fragmenty.
Třídí 2D primitiva.
GPU - „grafický procesor“ je výpočetní jádro grafické karty. Obsahuje řadič paměti, unifikované shadery, TMU jednotky, ROP jednotky a další. Zpracovává 3D geometrii na 2D obraz, zobrazitelný na zobrazovacím zařízení.
Grafický akcelerátor (urychlovač) je jednotka v osobním počítači či herní konzoli, která přebírá funkce hlavního procesoru pro grafické operace, odlehčuje hlavnímu procesoru. Umožňuje paralelní zpracování. Je vybaven vlastní pamětí.
S příchodem OpenGL API a obdobných funkcí v DirectX se k možnostem GPU přidaly i programovatelné jednotky shader. Každý pixel či vertex může být zpracován krátkým programem předtím, než je zobrazen. Moderní GPU mají podporu i pro 3D počítačovou grafiku, obsahují funkce pro renderování, podporu digitálního videa a další.
Sochor, Jiří. PA157 - Seminar on Computer Graphics Architectures, slajdy. 2012. Fakulta informatiky, Masarykova Univerzita. Brno.
Sobota, Branislav. Vizualizácia a grafické architektúry, slajdy. 2013. Katedra počítačov a informatiky, FEI TU, Košice. Dostupné: http://hornad.fei.tuke.sk/predmety/svr/doc/SVR0313_VIZUALIZACIA_GRAF_ARCHITEKTURY.pdf
Wikipedie: Otevřená encyklopedie: Grafická karta [online]. c2013 [citováno 16. 06. 2013]. Dostupný z WWW: <http://cs.wikipedia.org/w/index.php?title=Grafick%C3%A1_karta&oldid=10413181>
Wikipedie: Otevřená encyklopedie: GPU [online]. c2013 [citováno 16. 06. 2013]. Dostupný z WWW: <http://cs.wikipedia.org/w/index.php?title=GPU&oldid=10415575>