Technologie 3D grafiky: Jakým kouzlem se tvoří obraz?

Současné hry by se neobešly bez sestavování trojrozměrné scény. Za tímto procesem je ale celá řada technologií a složitých výpočtů. Pronikněte do tajů prostoru.
Kapitoly článku

Celý proces renderování trojrozměrné scény není nic jiného, než převod matematicky popsaného prostorového útvaru do dvourozměrné podoby z pohledu kamery. Výstupní zařízení jsou stále dvourozměrná (a to i v případě 3D monitorů), takže nezbývá, než plochu rozdělit do jednotlivých bodů a každý z nich vyplnit požadovanou barvou. Tak snadné to však nebude.

Průchod potrubím

Proces renderování je ze softwarového hlediska možné označit termínem pipeline (doslova potrubí). Vstupem do pipeline jsou jednoduché matematické objekty (body, čáry, trojúhelníky), výstupem obrazová data. Tento softwarový proces popisují hojně využívané knihovny Direct3D nebo OpenGL. Pro pochopení funkce stavby 3D scény bude nutné pochopit průchod skrz pipeline, který přímo souvisí s hardwarem grafické karty.

Klepněte pro větší obrázek
Data k zobrazení procházejí přes pipeline, která je zpracuje, obohatí o generované prvky a pošle k vykreslení na obrazovku

Fyzická pipeline GPU označuje samostatnou cestu, která na začátku přijme matematický popis a na konci vrátí sadu pixelů. V závislosti na architektuře daného procesoru je těchto cest několik, takže karta zpracovává v každém cyklu paralelně mnoho výpočetních úloh.

Bez modelu ani ránu

Základem 3D scény je model, který je nutno předat grafické kartě. Ta jej očekává v první fázi renderování, nazývané Input Assembly, sestavení vstupu. Do paměti karty je uložen objekt v podobě geometrického popisu tak, aby z něj bylo možno poskládat drátěný model (wireframe). Podstatné jsou tedy jen body, hrany a zlomy, kdy jednoduchým zkompletováním předaných dat získá karta základní představu o objektu.

Klepněte pro větší obrázek
Síťový model je základem každého renderování, sada vrcholů následně projde bouřlivou transformací, rasterizací ploch a obarvováním pixelů

Účelem přípravné fáze Input Assembly je rozdělení dat na vrcholy (vertex) a seznamy čar a trojúhelníků s dalšími doplňkovými informacemi, které budou následně využity při zpracování geometrickými shadery. Neméně důležité je obohacení vstupu o systémem generované hodnoty – data se rozdělí podle logické návaznosti a jsou jim přiřazeny identifikátory (primitive id, instance id, vertex id). Pak je možné snadno se odkazovat na objekty, které je nutno zpracovat a které už jsou zpracovány.

Vrchol po vrcholu

Procesory vykonávající jednotlivé grafické operace jsou nazývány shadery a jsou historicky děleny na vertex, geomery a pixel shadery. Označení shader můžeme chápat jako programovatelnou součást grafického čipu vyhrazenou pro výpočet dané úlohy, dnes už jde ale pouze o software, který je spouštěn na unifikovaných shaderech – stream procesorech. Stream procesor je obecnějším pojetím shaderu, jde o samostatnou paralelní výpočetní jednotku bez pevného určení. Dřívější rozdělení grafického jádra na bloky vyhrazených shaderů nevyužívalo optimálně zdroje. Data se během průchodu pipeline předávala mezi bloky GPU a velká část jádra byla v každou chvíli nevyužita. Technologie stream processingu odkazuje na instrukce SIMD (Single Instruction, Multiple Data), kdy je nad větším množstvím dat vykonáván totožný postup.

 
Polygony tvořené trojúhelníky optimalizují využití paměti, nový trojúhelník vznikne přidáním jediného vrcholu
 

Po načtení dat a jejich přípravou ve fázi Input Assembly následuje zpracování vertex shadery. Každý spoj v popsané drátové síti je označen jako vrchol, všechny tyto vrcholy pak procházejí transformacemi – je potřeba je umístit do správné polohy v prostoru, případně s nimi provést operace, jako je morfování, a už v této fázi je možno pracovat také s osvětlováním, které se však dnes častěji přenechává komplexnějším pixel shaderům. V průběhu pipeline má aplikace vertex shaderů své pevné místo, pokud není potřeba zpracovávat žádný z vrcholů, musí být na aplikační úrovni definován tzv. pass-through vertex shader. Vstupem i výstupem vertex shaderu je právě jeden vrchol.

Témata článku: Hardware, Technologie, Technika, 3D, Ono, Jimi, Vertex, Body, Depth, Stream, Apod, Lightning, Pass, Polygon

6 komentářů

Nejnovější komentáře

  • alefnula 27. 10. 2013 10:36:50
    Jen drobná oprava - u bump mappingu se nehýbe s geometrií ani s pixely,...
  • Tomcat5a 25. 10. 2013 15:32:38
    Autorovi děkuji za nádherný článek,tohle je u mne novinařina.
  • dolph1888 25. 10. 2013 12:06:23
    Co mě by zajímalo více u toho síťového modelu je tvorba kódování videa...
Určitě si přečtěte

Pojďme programovat elektroniku: Postavíme si titěrnou Wi-Fi meteostanici s lepším teploměrem než Netatmo

Pojďme programovat elektroniku: Postavíme si titěrnou Wi-Fi meteostanici s lepším teploměrem než Netatmo

** Dnes se podíváme na maličkou Wi-Fi destičku Wemos D1 mini ** A připojíme k ní barometrický a teplotní shield ** Poběží na ní web a nabídne i JSON API

18.  6.  2017 | Jakub Čížek | 28

Jak vybrat monitor k počítači: nenechte se zlákat nepodstatnými parametry

Jak vybrat monitor k počítači: nenechte se zlákat nepodstatnými parametry

** Na jaké parametry se zaměřit a kde vás výrobci chtějí nachytat ** Monitory se stále více specifikují pro konkrétní určení ** Náročný hráč nebo profesionální grafik mají různé požadavky

20.  6.  2017 | Tomáš Holčík | 31

Dlouhodobý test HTC Vive: co vám recenze o virtuální realitě neřeknou

Dlouhodobý test HTC Vive: co vám recenze o virtuální realitě neřeknou

** Ani hry se sebelepší grafikou vás nevtáhnou tolik, jako ve virtuální realitě ** Pro sledování filmů není VR ani zdaleka ideální ** I první generace je skvělá, stále však působí jako prototyp

20.  6.  2017 | Stanislav Janů | 22

Jak unikají informace o nových iPhonech? Třeba podprsenkami čínských pracovnic

Jak unikají informace o nových iPhonech? Třeba podprsenkami čínských pracovnic

** Na černém trhu mohou zaměstnanci továren za kradené součástky inkasovat částku ve výši ročního platu ** Velké množství informací je vyneseno i z centrály Applu ** Díly jsou pašovány v botách, podprsenkách i odpadem

21.  6.  2017 | Stanislav Janů | 22


Aktuální číslo časopisu Computer

Bojujeme proti Fake News

Dva velké testy: fotoaparáty a NASy

Co musíte vědět o změně evropského roamingu

Radíme s výběrem základní desky