War Thunder background
Ray Tracing ve War Thunderu!

S aktualizací Firebirds získal War Thunder podporu technologie Ray Tracing (česky „sledování paprsku“ - technologie renderování obrazu, dále v textu jako RT) a je schopen tvořit několik vizuálních efektů založených na RT, jako jsou stíny, okluze prostředí a odrazy. V dnešním blogu se podíváme na podrobnosti!

Jak to funguje?

Aby bylo možné RT používat, je třeba vytvořit a udržovat tzv. "hierarchii ohraničujících objemů" (Bounding Volume Hierarchy, BVH). BVH je trojúhelníková reprezentace celého světa, na které mohou být aplikovány všechny efekty RT. Mnoho her se omezuje na to, co do BVH zahrnout a s jakou věrností. Například použití pouze méně detailních modelů a odstranění všeho z relativně malé vzdálenosti. To však má svou cenu. Díky tomuto přístupu je nemožné získat přesné stíny.

V případě War Thunderu jsme se rozhodli pro „plnotučnou“ verzi, abychom mohli dlouhodobě využívat širší škálu efektů. Ve War Thunderu je téměř celé bojiště přístupné pro RT efekty se stejnou věrností, s jakou jsou vykreslovány ve hře, takže všechny tyto efekty mohou být fyzikálně správné a přesné.

obraz

To má svou cenu, protože proces sestavování BVH využívá co nejvíce vláken procesoru, takže se doporučuje moderní procesor.

Nyní máme BVH připravený, můžeme v něm začít sledovat paprsky a získat z něj nějaké efekty. Při spuštění máme k dispozici tři hlavní efekty.

Snímky obrazovky vpravo jsou bez nových efektů RT

Snímky obrazovky vlevo jsou s novými efekty RT

Ray Traced stínová mapa (Ray Traced Shadow Map - RTSM)

Ta nahrazuje mapování stínů založené na texturách a místo toho sleduje paprsky z každého bodu na obrazovce z povrchu slunce. Protože se používá celá plocha slunce, a ne jen jeho středový bod, stíny získají fyzikálně správný polostín, v závislosti na vzdálenosti objektu vrhajícího stín, jak by se dalo očekávat v realitě.

Výsledkem jsou fyzikálně správné a pixelově dokonalé stíny od slunce.

Na špičkových grafických kartách lze také zapnout stíny z dynamických světel. Umožňuje vytvářet tvrdé, pixelově dokonalé stíny ze všech dynamických světel, jako jsou výbuchy, záblesky a podobně. Jedná se o velmi náročnou funkci, která je určena pro špičkové grafické karty.

Ray Traced okluze prostředí (Ray Traced Ambient Occlusion - RTAO)

Okluze prostředí je technika používaná k simulaci prvků objektu, které blokují okolní zdroje osvětlení, jako je například samotnou obloha - jakýsi okolní stín. Proto je pod vaší postelí tma.

Tradičně to děláme pomocí technik pro práci na obrazovce, jako je SSAO nebo GTAO. RTAO je ray tracingová verze těchto technik v prostoru obrazovky a dokáže opravit chyby typické pro techniky v prostoru obrazovky, například když něco vrhá okolní stíny mimo obrazovku. S tím si technika Screen Space (SSAO) neporadí, ale RTAO ano. Podobně jako když něco vrhá okolní stíny, které jsou zakryty jiným objektem. Obvykle v těchto případech vidíte stíny tam, kde by neměly být, nebo naopak. RTAO všechny tyto problémy řeší.

Ray Traced odrazy (Ray Traced Reflection - RTR)

Jedná se o nejsložitější funkci. RTSM a RTAO jsou skutečně jen o stínech, ale u RTR vizualizujeme samotné BVH. Pohledem do zrcadla v podstatě vidíte to, co je v BVH, a my usilovně pracujeme na tom, aby se co nejvíce shodovalo s vykresleným obrazem.

Odrazy jsme měli i před nasazením RTR. Byly použity odrazy založené na sondě a odrazu od obrazovky, ty ale stejně jako SSAO metoda mají svá omezení. Vlastně velmi podobné. Zpracování objektů mimo obrazovku nebo objektů zakrytých v prostoru obrazovky a problémy s polohováním sond. RTR může sledovat celou scénu, takže přirozeně může odrážet obraz objektů z libovolného místa.

Pro RTR existuje další komplikace, a to drsnost povrchu. Na drsném povrchu, jako je beton, jsou odrazy velmi měkké a rozmazané, zatímco na lesklém povrchu, jako je sklo nebo vodní plocha, jsou odrazy ostré jako zrcadlo. Kromě těchto mezí je tu vše mezi nimi. Simulace tohoto jevu je ve skutečnosti jedním z momentálně nejžhavějších témat počítačové grafiky.

Náš přístup spočívá ve vykreslování zašuměných odrazů na základě drsnosti a v použití tzv. denoizeru, který umožňuje získat fyzikálně přesné odrazy.

Někdy je efekt zřejmý, například v případě zrcadlových odrazů.

Jindy je to méně nápadné, ale vykreslený obrázek je díky tomu správnější a vypadá přirozeněji. Když se podíváte na tyto záběry, prohlédněte si stroj a jeho okolí. Na snímku bez RT v podstatě svítí ve stínu, protože budova, která by měla blokovat oblohu od odrazu, není na obrazovce, takže techniky SSAO nemohou vědět, že by obloha z tohoto směru měla být blokována. Ve verzi RT tento modrý odstín zmizel, protože BVH „ví“ o budově bez ohledu na to, zda je na obrazovce, nebo ne, a správně blokuje oblohu.

RTR opět řeší problémy, které mají SSAO techniky založené na prostoru na obrazovce a sondách.

Dílčí vlastností RTR jsou odrazy na průsvitných skleněných plochách. Na těchto skleněných plochách nyní vidíte přesný odraz světa namísto sondy, kterou jsme používali dříve. Výsledkem jsou opět přesné odrazy.

A konečně další dílčí funkcí jsou odrazy na vodě.

Naše odrazy vody používají ve hře rovinné odrazy, což je velmi přesný způsob, jak získat odrazy, které pak jsou zkresleny na základě vln. V případě RTR vody jsou odrazové paprsky vystřelovány správně na základě normálových vektorů vln. Samotný odraz je jednoduše správnější, protože nezkresluje pouze 2D obraz, ale skutečně používá různé odrazy dle pixelů.

Rozdíl je někdy větší, jindy menší.

Výkon RT

Ray Tracing je náročný, ale existuje mnoho možností škálování, které jej zpřístupňují.

Především lze všechny tři možnosti povolit/vypnout nezávisle na sobě, což znamená, že pokud máte starší grafickou kartu podporující RT, můžete používat pouze ten efekt, na kterém vám nejvíce záleží.

Dále jsou to úrovně kvality. Obecně platí, že RTSM s dynamickými světly je určen pro nejnovější špičkové GPU. Obvykle to není o moc náročnější než pouhé stíny od slunce, ale uprostřed akce s mnoha požáry a výbuchy to může být velmi náročné.

Pro RTAO používá nastavení nízké kvality nižší vnitřní rozlišení pro výpočty. Jedná se však o stejné rozlišení jako u SSAO technik, ale bez jejích chyb. Střední poskytuje vyšší rozlišení a vysoké lepší odstranění šumu. Tato funkce je viditelná pouze za určitých okolností, ale chtěli jsme vám ji umožnit ovládat.

Pro RTR je nízká hodnota dobrým kompromisem. Chybí RT stíny v odrazech, což výrazně zvyšuje rychlost. Střední má RT stíny v odrazech. Nízká i střední úroveň používá tzv. šachovnicové vykreslování, které zdvojnásobuje výkon sledováním polovičního počtu paprsků. Vysoká hodnota toto šachovnicové vykreslování deaktivuje, ale denoiser ve skutečnosti odvádí skvělou práci při skrývání šachovnicového vzoru, takže rozdíl je malý. Opět záleží na vašem rozhodnutí.

RTR má také možnost nastavit vykreslování v plném nebo polovičním rozlišení, a to jak pro vodu, tak pro normální povrchy. Rozdíl je viditelný hlavně v zrcadlech a na polovičním rozlišení vypadá dobře, i když nemáte výkonnější GPU.

A konečně odrazy z průsvitného skla RTR mohou mít také odrazy RT uvnitř odrazů na vysoké úrovni, nebo ne na střední úrovni. To obvykle mírně ovlivňuje výkon, protože tyto povrchy nejsou ve hře příliš časté.

Pro optimalizované nastavení, při kterém získáte dobrý kompromis mezi výkonem a kvalitou obrazu, doporučujeme použít předvolbu Střední RT. Další posunutí za hranici zvyšuje kvalitu efektů, ale za cenu vyššího výkonu. Ale pokud máte nejnovější špičkovou grafickou kartu, jděte do toho! :)

Při použití efektů RT doporučujeme použít metodu upscalingu vyhlazování hran (AA) s předvolbou vhodnou pro vaši grafickou kartu. Jako DLSS, FSR, XeSS nebo naše TSR. S těmito upscalery můžete dosáhnout skvělého výkonu a kvality obrazu. Vyvážené předvolby jsou obvykle dobrou střední cestou pro ray tracing, ale na starším GPU není nic špatného zvolit výkonnostní předvolbu, pokud chcete využívat výhod RT.

V budoucnu chceme nejen přidávat další funkce RT, ale také zlepšovat výkon těch stávajících, takže sledujte budoucí aktualizace.

Při spuštění budou efekty RT podporovány na grafických kartách Nvidia. Prioritou je pro nás zajištění funkčnosti na kartách AMD i Intel. V našich interních buildech to funguje, ale zatím to připraveno k ostrému nasazení, musíme vyřešit některé problémy specifické pro tyto grafiky. Brzy bude tato funkce připravena, to platí i pro konzole současné generace.

Přečtěte si více:
Představujeme velkou aktualizaci “Storm Warning”!
Získejte skvělé odměny v akci Winter Tales!
Su-33: Nenaplněné plány
Eurofighter Typhoon: Jízda na větru

Komentáře (0)

Komentáře budou předem moderované 
Commenting is no longer available for this news