Obsah

Zadání

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.

Základní model

Pracovní stanice:
3D proudová architektura:
Konceptuální model:

Paralelní architektury

Paralelní řešení obrazové úlohy:

Dělení v objektovém prostoru

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ů

Dělení v obrazovém prostoru

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

8x8 (Clark-Hanah)

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

Cohen–Demetresku

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ů )

Kedem-Ellis

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

SAGE

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

Pixel Planes

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

SGI SuperWorkstation

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

Pixel Flow

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.

Klasifikace grafických architektur

Evaluátory - jednotka spracovania vstupných príkazov (skript)

Podle místa, kde nastává třídění:

Architektura "sort–first"

Třídí 3D primitiva.

Architektura "sort–last"

Třídí fragmenty.

Architektura "sort–middle"

Třídí 2D primitiva.

Akcelerátory a grafické procesory

Grafický procesor

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

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ší.

Zdroj

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>