Metoda sledování paprsků, nebo chcete-li používanější anglický termín ray tracing, je ve světě počítačové grafiky jedním z nejčastěji skloňovaných výrazů posledních let.
Umožňuje totiž realisticky nasvítit každou scénu, což dává virtuálním světům punc opravdovosti. Bohužel jde o výpočetně velice náročný efekt, který nutí k ústupkům i nejmodernější grafické karty dneška. Algoritmus totiž bere v úvahu odrazy světla, odlesky i stíny, což zásadně zvyšuje náročnost každé scény.
Programátor (a také občasný herec) Gabriel Gambetta si však dal originální výzvu, když se rozhodl vyzkoušet, jestli se mu podaří zprovoznit tuto technologii i na víc než čtyřicet let starém domácím počítači ZX Spectrum. A jak je patrné už z našeho titulku, podařilo se mu to.
Procesor ZX Spectra běží na pouhých 3 MHz, což je zhruba tisícina výkonnosti dnešních počítačů, operační paměť 48 kB je dokonce méně než miliontina aktuálního standardu. Samotný výpočet scény je ovšem „pouhá“ matematika, se kterou si i takovýto historický artefakt dokáže poradit. Gabriel si vybral poměrně jednoduchou scénu s pouhými třemi objekty, jejíž vytvoření na dnešním hardwaru bylo dílem okamžiku.
Cílem experimentu pak bylo přiblížit se tomuto výsledku co nejblíž. Se zastaralým programovacím jazykem Basic a danými hardwarovými limity to bylo velmi náročné. ZX Spectrum například umí zobrazit jen patnáct barev, a to ještě v každé části obrazu maximálně dvě najednou, nakonec se mu to ovšem podařilo v maximální možné kvalitě.
Má to ovšem jeden „drobný“ háček. I navzdory několika optimalizačním zásahům zabralo vygenerování této scény víc než sedmnáct hodin.
Praktické využití programu, jehož tvorba prý zabrala podstatnou část víkendu (o celém procesu si můžete přečíst na Gabrielově blogu), je tak samozřejmě nulové, některé lidi ovšem jednoduše baví překonávat zdánlivě nepřekonatelné překážky. Ostatně když se to umí, ray tracing se dá „naprogramovat“ i v kancelářském Excelu.