Co je Ray Tracing?

Od roku 2018, kdy Nvidia oznámila své grafické karty RTX řady 20, je její zabijácká funkce „ray tracing“ populárním pojmem v kruzích videoher. Ale může být obtížné pochopit, co je sledování paprsků, jak funguje a proč vypadá lépe než předchozí techniky.

Co je ray tracing a jak funguje?

V reálném světě, když něco vidíte, to, co vidíte, je foton ze světelného zdroje. Na své cestě k vám mohl být tento foton odražen jedním nebo více povrchy. Každý odraz mění vlastnosti světla, které dopadá do vašich očí.

Slunce vyzařuje širokou škálu barev světla, každý povrch část světla pohlcuje a jiné odráží. To, co vidíme jako zelený povrch, jako je list, se tak jeví, protože odráží převážně zelené světlo. Pokud světlo odrážející se od listu dopadne na jiný povrch, například bílou stěnu, bude tento povrch vypadat trochu jinak, než kdyby na něj svítilo čistě bílé světlo. Každý odraz ovlivňuje každý budoucí povrch, se kterým světlo interaguje, mění jeho intenzitu a viditelnou barvu.

Ray tracing je grafická technika, která se řídí stejnými principy. Paprsky světla se promítnou, vypočtou se vlastnosti odraženého a lomeného světla, jako je barva, a paprsek se dále pohybuje.

Ve skutečném světě každý světelný zdroj, jako je žárovka nebo Slunce, vyzařuje fotony do všech směrů, z nichž drtivá většina nikdy nedosáhne vašich očí. Simulovat toto by byl šíleně intenzivní proces, který by přinesl většinou promarněné výsledky. Aby se snížila pracovní zátěž, ray tracing funguje obráceně a promítá paprsky z kamery. Každý paprsek může projít určitou vzdálenost bez odrazu nebo se několikrát odrazit, než jsou provedeny výpočty a nastavena hodnota pixelu.

Například paprsek je vržen z pohledu diváka, když narazí na bílou zeď, algoritmus rekurzivně generuje odražený paprsek, který pak prochází tabulí modrého skla, nakonec odražený paprsek dopadá na zdroj bílého světla a je absorbován. Modré sklo absorbuje všechno kromě modrého světla, které vrhá modré světlo na stěnu, což má za následek, že pixel je zbarven do modra.

Proč Ray Tracing vypadá mnohem lépe?

Standardní metoda vykreslování scén v reálném čase zahrnuje použití předem vypočítaných světelných map a osvětlení celé scény. Některé hry využívají omezené objemové osvětlení, které zahrnuje pohyblivé světelné zdroje a umožňuje dynamické stíny, tato technika se však používá střídmě, protože je poměrně náročná na procesor.

Ray tracing může dosáhnout fotorealistického výsledku, pokud se ve fázi návrhu hry udělá nějaká práce navíc. Pokud všechny povrchy obsahují detaily, jako je odrazivost, průhlednost a to, jak se přes ně bude lámat světlo, může celkový výsledek vypadat přirozeněji. I když tento přístup zjevně vyžaduje více práce ve fázi návrhu hry, umožňuje, aby se výsledek dostavil fotorealistické se světlem, které reaguje tak, jak by mělo, když se odráží od betonu, kovu, dřeva a skla atd.

Ray tracing umožňuje vrhat přesné odrazy a stíny jako součást procesu vykreslování. v tradičních metodách vykreslování jsou oba tyto efekty zcela volitelné a mohou způsobit výrazné snížení výkonu.

Ray tracing sám o sobě přichází s masivním výkonem. Dokud nebyly grafické karty Nvidia RTX oznámeny s hardwarovou akcelerací pro sledování paprsků, myslelo se že nezbytný výpočetní výkon k provádění sledování paprsků v reálném čase v softwaru byl více než deset let pryč. I přes hardwarovou akceleraci ray tracing stále způsobuje výrazný pokles výkonu, protože je stále nejpomalejší částí vykreslování snímku.