GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
Hardware Článek GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)

Adam Vágner

Adam Vágner

21. 8. 2018 03:00 71

Seznam kapitol

1. Proč ray tracing 2. Nový čip, nová architektura, nové jednotky 3. GeForce RTX 4. Další info ke kartám 5. Praktické ukázky – „před“ a „po“ ve hrách 6. RTX v nových hrách

Nvidia včera večer představila novou generaci herních grafických karet s architekturou Turing. Začínají rovnou nejvyššími modely GeForce RTX 2080 Ti, RTX 2080 a RTX 2070. Novým buzzwordem (či spíše slovním spojením), o kterém teď budeme slýchat ještě častěji, je ray tracing. A nová generace karet má znamenat velkou revoluci ve světě her.

Reklama

Nvidia se včera věnovala v dlouhém streamu představení nové generace karet s architekturou Turing. Na místě máme i speciálního zpravodaje Vaška Vlčka (který je tam primárně kvůli jiné další prezentaci), ale zatím nám poslal aspoň pár fotek ze včerejší akce.

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz
GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz

Přestože některé z podstatných vlastností, které by nás zajímaly (především výkon), Nvidia stále tají, informací bylo více než dost. Pokusil jsem se toho nahrnout do jednoho článku co nejvíc, ale nenajdete v něm zatím zdaleka vše, takže jej ještě budu doplňovat za pochodu.

Jen-Hsun Huang si na úvod do problematiky ray tracingu vybral pěkný obrázek a na něm celkem srozumitelně představil základní pojmy, takže vám prostě převyprávím, co v úvodu přednášky říkal. 

Obrázek níže je svatým grálem počítačové grafiky. Je plný efektů, kterých není možné stávajícími technologiemi (herního) renderingu – rasterizací – vytvořit. Už na začátku je to zdroj světla a samotné nasvícení scény, tedy „sluneční“ světlo procházející zvenčí oknem, které se odráží od nasvícených předmětů a většinu prostoru místnosti tak osvětluje až nepřímo. Kdykoliv světlo narazí na nějaký materiál, je tento materiál fyzicky nasimulovaný – ať už je kovový (tedy takový, který odráží obraz), dielektrický (to jsou materiály, které světlo tlumí a lámou), hladký, nebo naopak hrubý (hrubost je dána povrchovými nerovnostmi), světlo odráží, nebo jej absorbuje, rozptyluje různými způsoby – třeba v závislosti na orientaci (to jsou třeba materiály jako kartáčovaný hliník), anebo nezávisle na ní, některé jsou lesklé a některé matné. Výsledkem celé simulace je celá tato místnost, která vypadá jako živá.

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz

Když se světlo v celé místnosti odráží, nechová se na každém povrchu stejně. Některý předmět je od světla odstíněný okolními předměty – tomu říkáme ambient occlusion. Také vidíte lampičku, která svítí na sklenice pod ní, a protože jejich sklo má zakřivený tvar, světlo se v něm láme a soustředí se do menší světlejší plochy – tomuto efektu se říká caustics – nejnázornějším příkladem z reálného života je, když se pokoušíte něco zapálit lupou anebo když jste u vody, na níž svítí slunce a někde na zdi či na dně se vlní soustředěné světlo od vln na vodní hladině.

Dále jsou ve scéně stíny vržené různými směry od různých zdrojů světla – každý stín se dělí na více částí, kterým se říká umbra (kde je zastínění plné) a penumbra (kde je částečné) – v češtině stín a polostín (vznikají, když nemáte bodový zdroj světla, ale předmět je osvětlený větší plochou nebo třeba dlouhou zářivkou – v praxi jsou to neostré stíny, v opravdu velkém měřítku je to třeba plné nebo částečné zatmění slunce, které už zažila většina z nás).

Dále odraz v zrcadle – a v něm se odrážejí i části, které nevidíte. Víte, jak zrcadla fungují, že se můžete dívat i „za zrcadlo“ (což ve videohrách často nelze, a protože se pro simulaci zrcadel využívají obvykle mapy vygenerované z renderované obrazovky, neodrážejí se v nich třeba předměty, které někde mimo scénu sice jsou, ale na obrazovce je nevidíte).

Dalším už zmíněným efektem je slabý stín kolem obrazu – ambient occlusion (pro něj je zatím asi nejlepší český překlad zastínění okolím), anebo to, jak světlo prochází gumovými medvídky – odráží se uvnitř želatiny, láme se a odráží zpátky ven – tomu se zase říká subsurface scattering (Ten už z her známe také – využívá se nejčastěji pro simulaci lidské pokožky, jde o takový částečně průsvitný voskový vzhled, díky němuž lidé ve hrách nevypadají jako figuríny napatlané lubrikačním gelem).

Všechny tyto efekty je s dosavadními technikami používanými ve hrách opravdu těžké nasimulovat, a s každým takovým efektem přilepeným do celé scény je komplikovanější příprava scény, rendering i samotné skládání jednotlivých efektů dohromady do výsledného obrazu.

V roce 1979 Turner Whitted, který momentálně pracuje coby vědecký pracovník v Nvidii, navrhl algoritmus vykreslování, který funguje jinak než rasterizace, je silný a přitom elegantní – nazval jej Multi-bounce recursive Ray Tracing.

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz

Od ray tracingu, který funguje tak, že se u něj vysílají paprsky od zdroje světla, se liší v tom, že se nezačíná u zdroje světla, ale z pohledu oka pozorovatele – protože většina paprsků ze zdroje světla se k tomu oku nikdy nedostane, bylo by zbytečným plýtváním je vykreslovat. A postupuje se zpětně. Od oka procházejí paprsky každým pixelem na obrazovce, a každý paprsek ovlivňují předměty, se kterými se setkává.

Výkon stále nestačil

I když je tento způsob vykreslování zahájený z pohledu pozorovatele oproti opačnému postupu mnohem méně náročný, pro kompletní rendering místnosti by bylo zapotřebí počítat miliardy paprsků a byl by zapotřebí výkon v řádu petaFLOPS. Grafiky sice udělaly obrovský pokrok – v souladu s moorovým zákonem se u procesorů dařilo zvedat výkon asi desetinásobně každých pět let, každých deset let to dělalo stonásobný nárůst výkonu, a u grafických karet byl nárůst ještě desektrát vyšší – to dělá tisícinásobný nárůst každých deset let. Ale ani to nestačí k tomu, aby se v dohledné době mohl ve hrách využívat plnohodnotný ray tracing.

GeForce Turing: Co Nvidia předvedla na Gamescomu (a jinde)
i Zdroj: PCTuning.cz

K tomu, aby to bylo možné, bychom museli čekat dalších deset let na petaFLOPSové grafiky, a to už v Nvidii nechtěli. Se samotným ray tracingem by ale Nvidia nebyla schopná dosáhnout výsledku, jaký se jí s novými kartami podařil.

Nvidia RTX

Proto musela vzniknout platforma Nvidia RTX, která spojuje ray tracing, deep learning a rasterizaci kvůli tomu, aby od základu změnila proces tvorby pro tvůrce obsahu a vývojáře. (A tady pozor, podpora RTX ve hrách podle všeho znamená, že hra využívá i jen některé z těchto dílčích technologií, nemusí to být nutně zrovna ray tracing). A tím, co tuto přelomovou změnu poprvé umožní, má být nová architektura Turing.

Základní princip Nvidia RTX? Nejspíš obdobný jako na ukázkách, které Nvidia prezentovala třeba na loňském Siggraphu – Raytracing se počítá s nižším počtem paprsků a umělá inteligence natrénovaná na výkonnějších počítačích se pak v konečné fázi postará o inteligentní doplnění chybějících prvků obrazu:

Proč, když je to tak náročné?

Proč se do něčeho takového vůbec pouštět, když je to o tolik náročnější než klasická cesta? Kolem času 2:07:00 šéf Nvidie vysvětluje, že ačkoliv je ray tracing náročný, rasterizace je velmi efektivní jen při menším počtu světel, ale její efektivita klesá, když musíme světel přidat víc. A největší problémy nastávají při použití jiných než bodových zdrojů světla – například plošných světel, která jsou vlastně nekonečným množstvím bodových světel vedle sebe. Se stále většími nároky na realističtější nasvícení scény a s využitím global ilumination také neúměrně narůstá počet světel, rasterizace začíná být neefektivní a ray tracing začíná být naopak efektivnější.

Kvůli tomu Nvidia (a další) spolupracovali s Microsoftem v posledních letech na využití ray tracingu v rámci rozhraní DirectX – technologii DXR. A pracovali i na zahrnutí DXR do Unreal Engine. Výsledkem jejich snažení je ukázka, kterou jste (pokud se o herní grafiku trochu zajímáte) nejspíš asi už viděli, protože se s ní vývojáři pochlubili před několika měsíci:

V demu jsou vidět plošná světla, kolem kterých projíždí výtah, odrazy materiálů (a odrazy materiálů, ve kterých se odráží okolí) a neostré stíny. Dopracovat se k podobnému výsledku dá i stávajícími metodami, ale je to neefektivní, protože se vše pohybuje a všechny ty obezličky, jako jsou třeba mapy pro odrazy, je s každým pohybem nutné znovu přepočítat. Toto demo tehdy renderoval superpočítač se čtyřmi profi grafickými kartami Tesla V100 s cenovkou hezkých 68 tisíc dolarů...

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama