Kompanija „Intel“ deda daug vilčių į trimačių vaizdų generavimą, pasitelkus spindulių sekimo algoritmus (raytrace). Nepaisant įspūdingo rastrinės grafikos algoritmų tobulėjimo ir šimtų milijonų tranzistorių, iš kurių sudaryti trimatės grafikos procesoriai, šios sistemos negali perteikti realiai atrodančio apšvietimo.
Rastrizavimo (rasterization) algoritmai pagrįsti tuo, kad objektas sudaromas iš daugybės daugiakampių (paprastai trikampių), o programos apskaičiuoja kiekvieno jų apšvietimą, spalvą, tekstūrą ir kitus parametrus. Kuo daugiau tokių paviršių, tuo tikroviškiau atrodo objektai, tačiau reikia atlikti daugiau skaičiavimų. Šie algoritmai dažnai nepajėgūs įvertinti daugelio realaus pasaulio optinių efektų, pavyzdžiui, atspindžių, spindulių lūžio, tačiau jie veikia labai greitai.
Spindulių sekimo algoritmai vaizdą generuoja visiškai kitaip. Nagrinėjamas kiekvienas trimatės scenos taškas. Nustatomas iš stebėtojo akies pozicijos išeinančių spindulių kelias ir sekama, kurioje vietoje jie gali atsispindėti, būti išsklaidomi ar laužiami. Kiekvieną kartą spinduliui atsimušus į kokį nors scenos objektą, sužadinamas algoritmas, skaičiuojantis to objekto apšvietimą. Taip spinduliais „apšviečiama“ visa scena ir sudaromas visas vaizdas. Sudėtingose scenose spindulys per tą patį tašką gali keliauti kelias dešimtis kartų, o iš viso tokių spindulių gali būti daugiau nei milijonas (1280 x 1024 skiriamąja geba jau nieko nenustebinsi). Iki šiol spindulio sekimo algoritmai buvo naudojami beveik vien tik trimatės grafikos kūrimo sistemose, generuojančiuose fotorealistinius vaizdus, pavyzdžiui, „3D Max“, „Maya“ ar „Lightwave“. Generuojant vaizdus tokiu būdu, trimatės grafikos spartintuvai yra visiškai beverčiai, nes visus skaičiavimus atlieka tik pagrindinis procesorius.
Tačiau padėtis gali pradėti keistis. Spindulių sekimo algoritmas ypač tinka daugelio branduolių procesoriams, nes kiekvieną spindulį galima nagrinėti nepriklausomai nuo kitų. Visą sceną galima suskaidyti dalimis, kurias vizualizuos atskiri procesoriai ar jų branduoliai. Tai akivaizdžiai pademonstravo „Intel“ šį rudenį vykusioje Intel Developer Forum (IDF) konferencijoje. Renginio metu buvo demonstruojamas spindulių sekimo algoritmams pritaikytas „Quake 4“ žaidimas, leidžiamas virtualiame kompiuteryje su 16 branduolių procesoriumi (prie tinklo buvo prijungti keturi kompiuteriai su 4 branduolių procesoriais). Generuojamų kadrų skaičius didėjo beveik proporcingai branduolių skaičiui. Net ir 8 branduoliai buvo pajėgūs pasiekti apie 100 kadrų per sekundę spartą, sužadinus žaidimą 1280 x 720 skiriamąja geba.
Skaičiavimo apimtys tiesiogiai priklauso nuo scenos skiriamosios gebos. Ją sumažinus perpus, vaizdas sukuriamas dukart sparčiau. Be to, kitaip nei rastrizavimo sistemose, didinant scenos sudėtingumą, spindulių sekimo algoritmų darbo laikas didėja nežymiai. Anot „Quake 3 Raytraced“ ir „Quake 4 Raytraced“ autoriaus D. Pohlo, kai kurioms „Quake 3“ žaidimo sienoms ir luboms pritaikius sudėtingesnius modelius, darbo sparta beveik nenukentėjo. Nors bendras geometrinis scenos sudėtingumas padidėjo net šešis kartus, tačiau generuojamų kadrų per sekundę skaičius sumažėjo vos ketvirtadaliu.
Spindulių sekimo algoritmai jau naudojami komercinėse sudėtingų vaizdų generavimo sistemose. Pavyzdžiui, Vokietijos bendrovė „inTrace Realtime Ray Tracing Technologies GmbH“ jau keletą metų platina komercinę „OpenRT“ biblioteką, skirtą tikroviškos trimatės grafikos generavimo sistemoms, kurios gali būti naudojamos dideliems modeliams apžiūrėti, gaminių prototipams ar dizaino vaizdams įvertinti. Sistemas, sukurtas „OpenRT“ pagrindu, naudoja tokios bendrovės kaip „Volkswagen“, „Hella“ ir „Boeing“.
Spindulių sekimo algoritmus galima panaudoti ir namų vartotojų poreikiams skirtai trimatei grafikai generuoti. Tai akivaizdžiai patvirtina ir IDF konferencijoje demonstruotas „Quake 4 Raytraced“ žaidimas.
Atsižvelgiant į tai, kad šiomis sistemomis susidomėjo tokia kompanija kaip „Intel“, visiškai tikėtina, kad po kelerių metų galime išvysti pirmuosius žaidimus, vaizdus kursiančius pagal spindulių sekimo algoritmus. Nereikėtų pamiršti ir internete sklandančių gandų apie ambicingus „Intel“ planus grįžti į trimatės grafikos spartintuvų rinką. Ne vienoje interneto naujienų svetainėje galima rasti užuominų apie tai, kad „Intel“ kompanijos „Visual Computing Group“ padalinys ieško naujų darbuotojų. Teigiama, kad jiems teks kurti daugelio branduolių grafinį procesorių, pritaikytą didelei gaminių grupei, – nuo integruotų sistemų iki didelio našumo darbo stočių. Visiškai tikėtina, kad į „Larabee“ kodiniu vardu vadinamą procesorių „Intel“ gali įtraukti ir spindulių sekimo algoritmams spartinti tinkamas funkcijas.
Sarlando universitete jau sukurti pirmieji eksperimentiniai spindulių sekimo algoritmų trimatės grafikos spartintuvai „SaarCOR“ ir RPU. RPU projekto puslapyje rašoma, kad 66 MHz dažniu veikiantis RPU prototipas gali varžytis su „OpenRT“ pagrindu sukurta programa, vykdoma kompiuteryje su 2,4 GHz „Pentium 4“ procesoriumi. Šiame puslapyje taip pat rašoma, kad RPU atmintinės pralaidumas siekia vos 350 MB/s, tuo tarpu „Pentium 4“ kompiuterių atmintinės magistralės sparta – 1–2 GB/s.
Interneto nuorodos:
http://www.openrt.de – „OpenRT“ spindulių sekimo algoritmu pagrįstos bibliotekos puslapis.
http://www.pcper.com/article.php?aid=455 – „PC Perspective“ straipsnis apie spindulių sekimo algoritmų įtaką ateities žaidimams.
http://www.q4rt.de/ – „Quake 4 Raytraced“ projekto puslapis.
http://blogs.intel.com/research/2007/10/real_time_raytracing_the_end_o.html – „Intel“ darbuotojo tinklaraščio puslapis, kuriame prognozuojamas tradicinių rastrinių vaizdo generavimo sistemų saulėlydis.