Článek Grafiky a hry

Grafické enginy her a reálný svět | Kapitola 7

Pavel_Kovac

Pavel_Kovac

56

Seznam kapitol

1. Grafické enginy her a reálný svět 2. Ambient Occlusion a stíny 3. Částicové systémy, SubSurface Scattering a 3D textury 4. Reflection/Refraction, rendering vody, kaustika a disperze 5. Depth of Field a Motion Blur
6. Post efekty 7. Deffered shading 8. Softwarové a filmové rendery 9. Závěrečné zamyšlení

V tomto článku se podíváme na enginy moderních her, porovnáme si je s reálným světem a se softwarovými rendery. Doba pokročila a dnešní hry již vypadají velice reálně. Čím se tedy liší od reálného světa a moderních rendering systémů? Doplněno o 4 kapitoly.

Reklama

Deffered shading

Tato technologie se dnes používá u většiny FPS her. Má tu výhodu, že lze použít větší množství světel bez výrazného dopadu na výkon. Jde o princip, kdy se scéna počítá v první fázi bez světel, ale s dvěma vrstvami (pass) navíc. První je Z-Depth mapa a druhá Normal mapa.

Grafické enginy her a reálný svět



- Z-Depth mapa -

Na obrázku Z-Depth mapy si můžete všimnout, že nezohledňuje průhlednost objektů. Z toho vychází jedna z hlavních nevýhod Deffered shadingu. Světlo není spočítáno za průhledným objektem. Současné moderní enginy však už tento problém řeší na úrovni samotných objektů. V Unreal Engine se musí na průhledný objekt aplikovat shader, který tento neduh odstraní. Musí však modeláři na tento nedostatek myslet a nezapomenout na něj, jinak dojde k nekorektnímu osvětlení scény.

Grafické enginy her a reálný svět



- normal mapa -


Grafické enginy her a reálný svět



- scéna bez světel (diffuse) -

Pomocí těchto dvou resp. tří vrstev se spočítá osvětlení pro celou scénu zároveň a každé světlo ovlivňuje jen pixel, který je v aktuálním pohledu vidět. Scéna je tedy vypočítána pouze jednou (na geometrické bázi). Běžné stínování probíhá zcela opačně. Každé světlo je spočítáno zvlášť a teprve po výpočtu (několikanásobném) celé scény dochází ke složení do výsledného obrazu.

Grafické enginy her a reálný svět



- výsledný složený obraz -

Stíny ve scéně jsou obvykle počítány na základě Shadow Map (tzn. už je pryč doba čistě Stencil Shadow, které jsou dnes používány obvykle na lokální zdroje světla). Každý zdroj světla má určenou velikost své mapy v závislosti na požadované kvalitě. Crysis 2 používá např. pro slunce 1024x1024, což sice není mnoho, ale umožňuje tak rendering celé scény i na konzolích. Zde je vidět, že dnešní konzole jsou opravdovou brzdou ve vývoji grafiky na PC. Naštěstí velikosti map se dají velmi jednoduše měnit v nastavení (tedy pokud to vývojáři umožní) a tím lze zvyšovat kvalitu scény.

Grafické enginy her a reálný svět



- výsledná scéna -


Grafické enginy her a reálný svět



- Shadow mask od slunce -

Každé světlo si přiřadí svou barvu pro Shadow map a všechny mapy se následně složí do jedné výsledné. Až teprve poté jsou zakomponovány do scény stíny.

Grafické enginy her a reálný svět



- složené masky od všech světel -

Nevýhody Deffered shadingu jsou v nutnosti použít speciální Antialiasing (běžný nelze vzhledem k povaze výpočtu použít). Obvykle se tedy používají různé detekce hran. Pro účely Deffered shadingu byl vyvinut Morphological Antialiasing a z něho odvozený FXAA. Oba jsou založeny na detekci hran ve výsledném obrazu a dopočítávání pixelů. Výhodu mají v tom, že jsou extrémně rychlé a dostatečně kvalitní. Další popis se však do toho článku už nevejde. Na závěr přidávám k Deffered Shadingu alespoň ukázku MLAA.

Grafické enginy her a reálný svět



- ukázka MLAA zdroj: Alexander Reshetov Intel Labs -


Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama