Ray tracing je technika vykreslování počítačové grafiky, která vytváří obraz sledováním dráhy paprsků scénou. Paprsky mohou interagovat s objekty ve scéně, odrážet se od nich a získávat vlastnosti, jako je barva.
Ray Tracing: Základy
Ray tracing emuluje skutečné osvětlení. Světlo, které vidíme, je výsledkem fotonů emitovaných ze zdrojů energie, jako je slunce. Fotony se mohou při srážce s předměty odrážet a rozptylovat. Zrcadlo je vše, co potřebujete, abyste to viděli v akci. Světlo dopadající na zrcadlo vytváří odraz.
Ray tracing to simuluje. Počet sledovaných paprsků je mizerný ve srovnání se skutečným světem, kde se miliony fotonů odrážejí přes naše zorné pole. Moderní hry sledují někde mezi jedním a čtyřmi paprsky na pixel. Přesto to k simulaci skutečného světa stačí.
Sledování dráhy paprsku také umožňuje interakci s herním světem. Paprsek, který se odráží od červeného předmětu, může být ovlivněn touto barvou a vrhat do blízkosti červenou záři. Paprsky se mohou rozptylovat různými způsoby v závislosti na vlastnostech, které herci dávají objektům, což umožňuje realistické poloreflexní nebo drsné povrchy.
Ray tracing je významným krokem vpřed pro 3D grafiku. Vytváří realistický obraz tím, že simuluje dráhu paprsků, když se pohybují hrou. To vede k osvětlení, které může interagovat s prostředím, i když prostředí není pro hráče viditelné. Ray tracing nevyžaduje ke svému fungování speciální hardware, ale je praktický pouze na grafické kartě nebo herní konzoli, která může urychlit sledování paprsku, protože je velmi náročný.
Ray Tracing vs. rastrizace (neboli 3D grafika, jak jste ji znali)
Můžete být stále zmateni, i když tomuto vysvětlení rozumíte. Odrazy byly přítomny v minulých hrách, dokonce i těch, které jsou nyní staré několik desetiletí. Jak se ray tracing liší?
Dřívější 3D hry a většina moderních her používá rasterizaci. Rasterizace kombinuje prvky 3D herního světa viditelného pro hráče do 2D obrazu. Vykresluje pouze to, co by mělo být pro hráče viditelné, protože veškerý výkon použitý k vytvoření toho, co hráč nevidí, je promarněn. To však vytváří problém.
Vraťme se k příkladu zrcadla. Hráčovo prostředí a hráčská postava nejsou pro hráče viditelné (alespoň ve hře z pohledu první osoby). Díky rastrování není nic, co by zrcadlo odráželo.
Zrcadla v moderních hrách samozřejmě existují. Scénu vykreslují dvakrát. Jedna přihrávka je z pohledu hráče, zatímco druhá je z jiné perspektivy. To však zdvojnásobuje výkon potřebný k vykreslení scény.
Odrazy prostoru na obrazovce, technika populárních 3D herních enginů, využívají k vytvoření odrazu data na obrazovce. Tato technika je ideální pro reflexní povrchy v úhlu k perspektivě hráče, jako je voda. Odražené předměty však zmizí, pokud se odražený předmět přesune mimo obrazovku.
Ray tracing tyto problémy nesdílí, protože na rozdíl od rasterizace může sledovat mimo perspektivu hráče.
Ve hrách, které umožňují paprskům interagovat s povrchy, může sledování paprsků zobrazit realistické pronikání barev a semireflexní povrchy, které je obtížné zpracovat při rastrování.
Jaký hardware vyžaduje sledování paprsku?
Ray tracing není nový nápad. Počítačoví vědci experimentovali s ray tracingem na počátku 80. let a vytvářeli statické obrazy s realistickým osvětlením, odrazy a stíny. Bohužel jejich vykreslení trvalo hodiny.
Videohra vyžaduje sledování paprsků v reálném čase s frekvencí 30 snímků za sekundu nebo vyšší. To je možné pouze s grafickou kartou navrženou pro urychlení sledování paprsku.
Ray tracing společnosti Nvidia RTX spoléhá na křemík zvaný Tensor Core. Tensor Cores se nacházejí pouze ve grafických kartách RTX. Karty GTX od Nvidie dokážou vykreslit hru pomocí ray tracingu, protože, jak již bylo řečeno, ray tracing nevyžaduje speciální křemík. Výkon je však ve srovnání s RTX kartami propastný. A některé hry, jako je Minecraft s RTX ray tracingem, vyžadují RTX grafickou kartu kvůli specifickému způsobu, jakým umožňují ray tracing.
Karty AMD, které urychlují sledování paprsku, nemají konkrétní značku a nemají vyhrazený křemík. Místo toho používají hardwarová vylepšení a aktualizace softwaru pro lepší výsledky. Je obtížnější identifikovat karty AMD, které urychlují sledování paprsku, proto věnujte pozornost detailům.
PlayStation 5 a Xbox Series X a S od Sony mají grafický hardware od AMD, který dokáže urychlit sledování paprsků. Je však na vývojářích, zda to povolí, a mnoho her to neudělá. Pozoruhodným příkladem je Cyberpunk 2077, který podporoval RTX ray tracing na PC při spuštění, ale nepodporoval ray tracing na konzolích nové generace. Tato funkce je přislíbena pro konzole nové generace v budoucím patchi.