Základy 3D grafiky

10. Programovatelná 3D pipeline

Nyní si vše podstatné shrneme:

V rámci vykreslení scény (renderingu) se bavíme o tzv.  programovatelné 3D pipeline, popř. také o tzv. standardním zobrazovacím řetězci. Praktická ukázka vykreslení snímku byla vidět v kapitole Rendering.

V rámci pipeline je možné některé části plně naprogramovat, některé konfigurovat a jiné jsou plně ovládány hardwarem, což je vidět na následujícím obrázku:



Obr. 1 Programovatelná grafická pipeline

- na vstupu do vykreslovacího řetězce jdou data, která reprezentují scénu, tj. participující 3D modely - tyto jsou typicky reprezovány pomocí trojúhelníkové sítě (viz další kapitola). Načež je geometrie objektu přizpůsobena orientaci kamery.

- dále je provedena teselace (pokud je žádána), tj. zjemnění trojúhelníkové sítě 3D objektů

- pak jsou spuštěny geometrické shadery, tj. přidání nových "prvků" do geometrie, popř. manipulace se stávající geometrií

- scéna je pak transformována do okna obrazovky. Je zde "počítáno" s tím, že hledáme výsledný 2D obraz a vypočítá se i tzv. Z-Buffer - to znamená vzdálenost dílčích vertexů, plošek a 3D objektů od roviny projekce (obrazovky) - a sice směrem "dozadu".

- před aplikací osvětlení a textur je pak provedeno ořezání objektů, které nebudou ve scéně vidět (tj. Culling)

- Dále jsou aplikovány textury, které již pracují s osvětlením scény (texel - je pixel s aplikovanou barvou od textury a osvětlení)

- Na konci jsou aplikovány různé celoobrazovkové efekty - např. Antialiasing (viz dále)

Výstupem je tedy rastrový obrázek, který se vykresluje do tzv. Back-Bufferu. Snímky jsou obvykle počítány "dopředu". V okamžiku, kdy se jeden snímek na obrazovce objeví, následující se vypočítává nebo je již vypočítán.