War Thunder background
Renderování založené na fyzice reálného světla (PBR) – Dagor Engine 4.0 ve War Thunderu
Pozor! Tato novinka byla původně publikována na staré verzi webových stránek. V některé verzi webových prohlížečů se může zobrazovat chybně.

Vždy jsme kladli zvláštní důraz na vizuální stránku War Thunderu. Už teď můžete ve hře vidět, že modely techniky se skládají z různých typů materiálů, jejichž vizuální vlastnosti jsou značně rozdílné. Například tady vidíte P-51D-5. Jeho nádherný povrch z leštěného hliníku září ve slunečních paprscích. Tady je GAZ MM s 25mm protiletadlovým kanónem - můžete vidět, že jeho zeleně natřený povrch slabě mihotá. A jako třetí můžete vidět dřevěnou krabici připevněnou na boku tanku Pz.IVG.



Velice brzy do hry implementujeme novou grafickou technologii. Díky ní bude War Thunder vypadat ještě o něco více reálněji a krásněji. Seznamte se s Renderováním založeném na fyzice reálného světla (Physically Based Rendering - dále jako PBR) - tedy s technikou, která umí vytvořit fyzikálně naprosto korektní obraz.

ak se liší například speciální efekty, které můžete vidět ve filmu od scény, kterou vám vykreslí grafický engine hry? Kolik času je nutné věnovat tomu, abychom získali vizuálně věrný obraz v neustále se měnících a nepředvídatelných podmínkách? Každá scéna ve War Thunderu se skládá z množství objektů, světelných zdrojů, odrazů a dalších grafických efektů. V tomto článku vám řekneme něco více o nové metodě vykreslování (renderování), která je založená na fyzikálních zákonech a také na fyzice světla a jeho interakci s různými materiály.


STARÝ RENDER

RENDEROVÁNÍ PBR

STARÝ RENDER RENDEROVÁNÍ PBR

Pozor! Tento článek zabíhá poměrně do hloubky, a doporučujeme ho číst dál v případě, že vás zajímají moderní počítačové metody vizualizace.

PBR - RENDEROVÁNÍ PBR

Tato technologie je založená na stejných principech, na jakých fungují základní fyzikální zákony - tedy konkrétně na těch, které se týkají pohybu světla ve světě okolo nás.

Pokud se bavíme o různých površích a materiálech, myslíme tím jejich rozdílné vlastnosti které se týkají rozptýlení a odrazu světla, které s nimi přijde do kontaktu. Například - list papíru.

Na prvni pohled to vypadá, že je jeho povrch dokonale hladký. Pokud se ale na tento list podíváme z dostatečné blízkosti (například mikroskopem), zjistíme, že se vlastně jedná o jednotlivá dřevěná vlákna, které se navzájem kříží.

Pokud se fotony dostanou do kontaktu s tímto nerovným povrchem, odráží se od dřevěných vláken pod různými úhly. Většina světla se rozptýlí náhodně do prostoru.

Tento příklad ale stačí na to, abyste dostali pojem o tom, kolik různých materiálů spolu s množstvím světla, které se od nich odráží se v jedné vteřině objevuje na vaší obrazovce, pokud máte zapnutý War Thunder.



Výpočítání chování světla v tak obrovském detailu není možné ani pokud použijeme “offline” renderování na úrovni holywoodských filmů, protože je celá struktura neuvěřitelně složitá. Místo toho má každý povrch určené určité nutné množství statistických parametrů jako je například hrubost, index lomu světla, nebo “kovovost” (poměr dielektrických/vodivých částí na jeden pixel). To znamená, že už od prvních fází vytváření modelů a materiálů, které jsou na ně použity, můžeme pracovat s jejich fyzikálními vlastnostmi. Můžeme brát v potaz požadované parametry, aniž bychom museli provádět další úpravy poté, co je celá scéna připravená.

Bi-directional Reflection Distribution Function

Tato funkce je čtyřrozměrnou funkcí, která definuje jakým způsobem se odráží světlo od neprůhledných povrchů. Dále nabízí možnosti výpočtů množství energie odražené, nebo rozptýlené směrem k pozorovateli. Je logické, že kovové, látkové, nebo dřevěné povrchy ve hře ovlivňují rozdílně šíření světla, jeho rozptyl, lom a odraz.



Pro tento typ výpočtů používáme matematický model “Microfacet Theory”, který počítá s každým povrchem jako s určitým množstvím malých částí, které jsou nasměrovány určitým, nebo různými směry. Ve stejný okamžik odráží každá z těchto částeček světlo pod stejným úhlem. Pokud chceme vypočítat světlo v určitém bodu, musíme vypočítat množství světla, které tyto části odráží.



Poznámka: Cook–Torranceova funkce odrazu světla. l značí směr světla. v značí směr, kterým se pozorovatel dívá. n značí normál povrchu. h značí vektor mezi vektory l a v (půlvektor). D(h) značí funkci distribuce mikrofacet. F(v,h) je Fresnelova funkce. G(l, v, h) je funkce zastínění mikrofacet. Všechny parametry této funkce jsou jednoduché, a dávají smysl z fyzikálního hlediska. Ale jaký smysl dává půlvektor? Ten je nutný pro vyfiltrování mikrofacet, které doopravdy ovlivňují světlo, které vnímá pozorovatel. Pokud je normálový vektor mikrofacet roven půlvektoru, pak to znamená, že konkrétní mikrofacet přispívá k výslednému světlu pokud ho pozorujeme ze směru V.



Zásadním rozdílem od klasické technologie renderování je, že PBR počítá s tím, že všechny povrchy - ať už to jsou kovy, nevodivé povrchy, vegetace a další - jsou počítány podle jednoho fyzikálního modelu. Výsledkem je obraz, který je tvořen jako celek, a ve kterém prakticky neexistují jakékoliv chyby týkající se osvětlení. Celkově je vytváření parametrů různých materiálů složitější, než nakreslení textury. To klade jiné požadavky na výtvarniky - ti už nevytváří přímo to, co vidí oči, nebo co je viditelné z fotografií, ale musí vytvářet fyzikální vlastnosti povrchu. V případě War Thunderu musí výtvarníci upravit veškeré textury a povrchy tak, aby fungovaly s novou metodou renderování. Součástí tohoto procesu je zároveň zajištění toho, že celý grafický vzhled je co nejucelenější a nejrealističtější.

Při renderování konečného obrazu přichází ke slovu několik klíčových funkcí. Zde je o některých z nich více informací:

Microfacet reflection distribution D(h) tato funkce nabízí možnost určit procento energie, ze kterého probíhá výpočet odrazu světla a distribuce energie v závislosti na jemnosti respektive hrubosti povrchu. Ve War Thunderu je použit tzv. model GGX.

Microfacet self-shading distribution G(l,v,h) definuje kolik stínu (spolu s měnícími se úhly odrazu) vytváří povrch samotný. Ve hře je použita Smith’s self-shading funkce uzpůsobená pro model GGX (Eric Heitz. “Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs”.)

Fresnelova funkce F(v,h) definuje intenzitu odražené a lomené elektromagnetické vlny ve chvíli, kdy prochází přes hranici mezi dvěma různými prostředími. Tento efekt je obzvláště viditelný ve vodě. Pokud se podívate na vodní hladinu pod ostrým úhlem, uvidíte, že voda odráží drtivou většinu světla. Pokud se na vodní hladinu podíváme naopak z ptačího pohledu, neuvidíme prakticky žádný odraz, ale naopak to, co se nachází na dně.


Pro neprůhledné povrchy je fyzikální proces úplně stejný, s tou výjímkou, že je neodražené světlo rozptýleno, nebo absorbováno.

Díky této funkci se mění odraz světla v závislosti na úhlu střetu s ostatními materiály a v závislosti na různých indexech lomu světla (Fresnelova funkce je dost složitá, a pro kov má navíc imaginární komponentu a je rozdílná v závislosti na vlnové délce - to je důvod, proč je u kovů pozorovatelný duhový odraz). Tohoto si můžete všimnout hlavně na širých tankových mapách, kde nejsou prakticky žádné tmavé oblasti - světlo je všude realistické a s rozdílnou strukturou. “Ve stínu” uvidíte fragmenty odraženého světla. To je světlo, které se odráží od oblohy a dalších povrchů. Jen například prasklina v zemi je jediným opravdu tmavým objektem - prakticky žádné světlo, které se dovnitř dostane se neodrazí směrem ven. Ve hře je použita Shlickova aproximace Fresnelovy funkce pro nevodivé povrchy, která je používáná již delší dobu ve filmu i v hrách.


Rozptýlení světla

Mimo odrazu se světlo na nevodivých površích také rozptyluje.

Dříve byl ve hře používán Lambertův model, který - ačkoliv jednoduchý - nedovoloval úpravu rozptýlení světla na hrubých površích, kterých je ve hře velké množství. Problém vězí v tom, že hrubé povrchy rozptylují světlo v závislosti na pozici povrchu samotného, ale také pozice pozorovatele. Nyní je použit model Oren–Nayar.



Co to přináší do War Thunderu?

Technologie PBR bere v potaz vlastnosti každého materiálu, nebo povrchu. Pomocí matematických vzorců, které zahrnují vlastnosti terénu a jeho povrchů, vypočítá a zobrazí korektní chování světla, které s tímto povrchem přijde do styku. Díky tomu vypadají letadla a tanky přirozeněji a různoroději, zejména v různých částech dne a při různém počasí. Na vysokém nastavení grafiky je viditelná každá - byť sebemenší - součást, nic není skryté v neproniknutelném stínu. Místo toho odráží světlo z nejbližších objektů.


STARÝ RENDER RENDEROVÁNÍ PBR

STARÝ RENDER RENDEROVÁNÍ PBR

STARÝ RENDER RENDEROVÁNÍ PBR

STARÝ RENDER RENDEROVÁNÍ PBR

War Thunder tým

Přečtěte si více:
Funkce Skupiny
Paralaxa a úprava zaměřovače pro bojová vozidla
Nový hangár pro letadla i bojová vozidla
B-29 Superfortress/Tu-4 – nová tvář obra