Jednou z posledných prelomových technológií, ktorou sa chce pýšiť každá nová hra, je ray tracing v akejkoľvek podobe. Vzhľadom na potrebu zohľadňovania mnohých faktorov pri výpočte vykresľovanej scény ide o technicky náročnú záležitosť, s ktorou si poradia len najlepšie grafické karty na trhu.

K nim sa túto jeseň pridali konzoly novej generácie, Xbox Series S/X a PS5, ktoré často dovoľujú spúšťanie ray tracingu pod aspoň jednou podmienkou, napríklad so zníženým rozlíšením. The Verge ale upozorňuje, že programátorovi sa podarilo technológiu spojazdniť aj na tridsaťročnom SNESe.

Super Nintendo Entertainment System (SNES) je druhou domácou konzolou od Nintenda, ktorá sa vyznačovala 16-bitovou grafikou a vďaka hre Star Fox aj prvej 3D hre na domácich konzolách. Práve na tejto konzole spojazdnil programátor Ben Carter vďaka špecifickému modu catridge s demom obsahujúcim ray tracing.

Zaujímavosťou je, že samotná konzola nie je nijako upravovaná, keďže programátor potrebný čip umiestnil na catridge s hrou, ktorý nazval SuperRT. Titul obohatený o všetky potrebné odlesky a farby pritom podľa oficiálneho príspevku programátora beží v rozlíšení 200 x 160 a v krajnom maxime na 30 fps.

Niečo podobné robilo Nintendo s čipmi Super FX

Programátor si pri úprave grafiky SNES hry vybral podobnú cestu, akú si spoločnosť zvolila pred takmer 30 rokmi. Vtedy Nintendo využívalo Super FX čipy, ktoré rovnako ako teraz Carter, umiestňovalo na catridge s hrami, čím dokázali posunúť grafické limity konzoly.

Metódu využili napríklad pri spomínanej hre Star Fox, kde práve vďaka Super FX čipu dosiahli 3D grafiku. Samozrejme, tento čip sa využíval na vykresľovanie dodatočných 2D spriteov, respektíve 3D objektov a nie ray tracingu.

Carter ho teda vo svojom projekte nemohol využiť, a tak siahol po modernejšom poli logických členov schopných používateľského programovania (FPGA), vďaka čomu dokázal získavať informácie o renderovanej scéne a na základe toho aplikovať ray tracing.

Pošli nám TIP na článok



Teraz čítajú

Články, ktoré hýbu svetom