Ray tracing je technika vykresľovania počítačovej grafiky, ktorá vytvára obraz sledovaním cesty lúčov cez scénu. Lúče môžu interagovať s objektmi na scéne, odraziť sa od nich a získať vlastnosti, ako je farba.
Ray Tracing: Základy
Ray tracing emuluje skutočné osvetlenie. Svetlo, ktoré vidíme, je výsledkom fotónov emitovaných zo zdrojov energie, ako je slnko. Fotóny sa môžu pri zrážke s predmetmi odraziť a rozptýliť. Všetko, čo potrebujete, aby ste to videli v akcii, je zrkadlo. Svetlo dopadajúce na zrkadlo vytvára odraz.
Ray tracing to simuluje. Počet sledovaných lúčov je mizerný v porovnaní so skutočným svetom, kde sa milióny fotónov odrážajú cez naše zorné pole. Moderné hry sledujú niekde medzi jedným a štyrmi lúčmi na pixel. Napriek tomu to stačí na simuláciu skutočného sveta.
Sledovanie dráhy lúča mu tiež umožňuje interagovať s herným svetom. Lúč, ktorý sa odráža od červeného predmetu, môže byť ovplyvnený touto farbou a vrhať do blízkosti červenú žiaru. Lúče sa môžu rozptyľovať rôznymi spôsobmi na základe vlastností, ktoré umelci hry dávajú objektom, čo umožňuje realistické poloreflexné alebo drsné povrchy.
Ray tracing je významným krokom vpred pre 3D grafiku. Vytvára realistický obraz simuláciou dráhy lúčov, keď sa pohybujú hrou. To vedie k osvetleniu, ktoré môže interagovať s prostredím, aj keď toto prostredie nie je pre hráča viditeľné. Ray tracing nevyžaduje na svoje fungovanie špeciálne vytvorený hardvér, ale je praktický iba na grafickej karte alebo hernej konzole, ktorá dokáže urýchliť sledovanie lúča, pretože je veľmi náročný.
Ray Tracing verzus rasterizácia (alebo 3D grafika, ako ste ju poznali)
Môžete byť zmätení, aj keď tomuto vysvetleniu rozumiete. Odrazy boli prítomné v minulých hrách, dokonca aj v tých, ktoré sú teraz staré niekoľko desaťročí. V čom je sledovanie lúčov iné?
Predchádzajúce 3D hry a väčšina moderných hier používajú rasterizáciu. Rasterizácia spája prvky 3D herného sveta viditeľného pre hráča do 2D obrazu. Vykresľuje iba to, čo by malo byť pre hráča viditeľné, pretože akýkoľvek výkon použitý na generovanie toho, čo hráč nevidí, je zbytočný. To však vytvára problém.
Vráťme sa k príkladu zrkadla. Prostredie hráča a jeho postava nie sú pre hráča viditeľné (aspoň v hre z pohľadu prvej osoby). Pri rastrovaní nie je čo zrkadlo odrážať.
Samozrejme, zrkadlá v moderných hrách existujú. Scénu vykresľujú dvakrát. Jedna prihrávka je z pohľadu hráča, zatiaľ čo druhá je z inej perspektívy. To však zdvojnásobuje výkon potrebný na vykreslenie scény.
Odrazy priestoru na obrazovke, technika populárnych 3D herných nástrojov, využívajú na vytvorenie odrazu údaje na obrazovke. Táto technika je ideálna pre reflexné povrchy pod uhlom k perspektíve hráča, ako je voda. Odrazené objekty však zmiznú, ak sa odrazená položka presunie mimo obrazovku.
Ray tracing nezdieľa tieto problémy, pretože na rozdiel od rasterizácie môže sledovať mimo perspektívy hráča.
V hrách, ktoré umožňujú interakciu lúčov s povrchmi, môže sledovanie lúčov zobraziť realistické prepúšťanie farieb a poloreflexné povrchy, ktoré je ťažké zvládnuť pri rastrovaní.
Aký hardvér vyžaduje sledovanie lúčov?
Sledovanie lúčov nie je nový nápad. Počítačoví vedci experimentovali so sledovaním lúčov na začiatku 80. rokov minulého storočia a vytvárali statické obrázky s realistickým osvetlením, odrazmi a tieňmi. Žiaľ, vykreslenie trvalo hodiny.
Videohra potrebuje sledovanie lúčov v reálnom čase s rýchlosťou 30 snímok za sekundu alebo vyššou. To je možné len s grafickou kartou určenou na zrýchlenie sledovania lúčov.
Ray tracing RTX od Nvidie sa spolieha na kremík nazývaný Tensor Core. Tensor Cores sa nachádza iba v grafických kartách RTX. Karty GTX od Nvidie dokážu vykresliť hru pomocou sledovania lúčov, pretože, ako už bolo povedané, sledovanie lúčov nevyžaduje špeciálne vyrobený kremík. Výkon je však v porovnaní s RTX kartami priepastný. A niektoré hry, ako napríklad Minecraft s RTX ray tracingom, vyžadujú RTX grafickú kartu kvôli špecifickému spôsobu, akým umožňujú ray tracing.
Karty AMD, ktoré urýchľujú sledovanie lúčov, nemajú špecifickú značku a nemajú špeciálny kremík. Namiesto toho používajú hardvérové vylepšenia a aktualizácie softvéru pre lepšie výsledky. Je ťažšie identifikovať karty AMD, ktoré urýchľujú sledovanie lúčov, preto venujte pozornosť detailom.
PlayStation 5 a Xbox Series X a S od Sony majú grafický hardvér od AMD, ktorý dokáže urýchliť sledovanie lúčov. Je však na vývojároch, aby to povolili, a mnohé hry to neumožňujú. Pozoruhodným príkladom je Cyberpunk 2077, ktorý podporoval RTX ray tracing na PC pri spustení, ale nepodporoval ray tracing na konzolách novej generácie. Táto funkcia je sľúbená pre konzoly novej generácie v budúcom patchi.