Diit.cz - Novinky a informace o hardware, software a internetu

CPU raytracing u Intelu: alternativa klasických GPU?

Intel Raytracing
Na podzimním IDF bylo k vidění několik zajímavostí, přičemž z pohledu herní/3D grafiky se firma pochlubila s dalšími pokroky v renderování 3D scén pomocí raytracingu (zjednodušeně metoda renderingu spočívající ve výpočtu světelných paprsků směřujících k pozorovateli v celé scéně a jejich interakce s objekty, viz. např. free programy Pov-ray a YafRay). Intel se 3D renderingu pomocí počítání raytracing metodou na klasických CPU věnuje dlouhá léta a právě letos předvádějí poslední novinku ve vývoji, která jim umožňuje renderovat Quake 4 (tedy hru s „relativně standardním“ engine z hlediska náročnosti) pomocí dvou čtyřjádrových Xeonů s rychlostí kolem 90 fps v rozlišení 1280×720…

Intel Raytracing

Bez dlouhých úvodů vám nejvíce napoví samotné ukázkové video. V Intelu pak sami dodávají, že oproti současným technikám renderingu, kdy je scéna sestavena z objektů, ty jsou prohnány různými transformacemi, potaženy texturami atd., je raytracing daleko flexibilnější z hlediska možných efektů a „eye-candy specialit“ (zpravidla dnes zajišťovaných shadery), které je klasickou cestou (rasterizace) velmi obtížné realizovat. Pro každý pixel klasicky renderované scény pak vychází několik dílčích kroků výpočtu, zatímco u raytracingu sice máte stále základní geometrii scény tvořenou trojúhelníky, ale další postup se výrazně liší. Výpočet toku světelných paprsků je převeden na stromovou strukturu, která se průběžně (průchodem scénou) štěpí na elementárnější segmenty a rendering tak putuje po stále menších „větvičkách“ k zakončením („oku pozorovatele“ alias tomu, co je vidět na monitoru). Jedna velká renderovaná scéna se tak dá rozsekat na doslova elementární úlohy a škálovatelnost výpočtů při použití raytracingu je velmi vysoká a současně efektivní.

Intel Ray-tracing engine pro Quake 4 je pak ukázkou schopností této metody renderingu, která nevyžaduje absolutně žádné výpočty ze strany grafické karty, od té se očekává pouze zobrazení toho, co je jí jako výsledek předhozeno. Jak již zde padlo, na osmi jádrech si Q4 engine vede relativně slušně a takové CPU bude za nějaké dva roky za poměrně rozumnou cenu (kde byly dvoujádra v roce 2005, že ;-). A právě škálovatelnost slibuje, že s jakýmkoli dalším jádrem navíc poroste odpovídajícím způsobem výkon, přičemž PC stále bude potřebovat libovolně mizernou starou grafickou kartu pouze na zobrazení raytracingem již vyrenderovaných dat.

Intel Raytracing

V Intelu se kromě jiného na osmijádrovém systému dostali v rozlišení 1024×1024 na téměř 100 fps, pro rozlišení 1920×1080 pak odhadují, že současný výkon postačí pro zhruba 50 fps. Zatím sice jejich Q4 port neumí vše, kód je stále v experimentálním stádiu, na druhou stranu jsou schopni realizovat efekty klasickou cestou na GPU obtížně představitelné (viz. video).

Intel Raytracing

A co tím chce Intel vlastně říci? Inu, to by bylo třeba vytáhnout je někam na pivo, aby se více rozpovídali, ale minimálně chtějí poukázat na fakt, že stávající architektura GPU a používané metody nejsou to jediné. Ostatně princip metody počítání všeho na CPU a grafiky pouze na zobrazování dat nás vrací do éry před 3D akcelerátory, kdy rychlost CPU byla absolutní modlou a jakákoli PCI grafika zcela dostatečnou. Mnozí z vás jistě vzpomenou třeba Duke Nukem 3D v 1024×768 na 1MB S3 Trio 64 :-). Raytracing jako takový je mocným nástrojem, což jistě potvrdí kupříkladu řada uživatelů kombinace Blender + Yafray.

Zamýšlí-li Intel ještě něco dalšího, co si zatím nechává pod pokličkou, to nevíme. Připomeňme si na tomto místě jejich vlastní snažení v GPGPU oblasti, projekt Larrabe, který svou povahou sedí kdesi na pomezí světa CPU a GPU. Třeba se někdy dočkáme od Intelu jakéhosi „hybridního frameworku“ využívajícího pro výpočty (ať již čehokoli) rozložení dílčích částí výpočtů mezi GPGPU/3D a klasická CPU.

Rasterizace versus Raytracing

Jakkoli je totiž současný svět zaujat nevídaným pokrokem ve výkonu a schopnostech GPU a doslova hltá vývoj v oblasti GPGPU nasazení (CUDA, Close to Metal, ...), na některé úlohy stále je a bude vhodnější CPU. A klasický rendering také není samospasitelný, raytracing je daleko vhodnější kupříkladu pro odrazy a lomy světla či dynamické stínování, byť se tvůrci 3D enginů snaží seč můžou, vše toto implementovat v realistické formě pomocí shaderů.

Zdroje: 

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku CPU raytracing u Intelu: alternativa klasických GPU?

Čtvrtek, 12 Červen 2008 - 14:08 | Anonym | Hnedka v prvni vete clanku je chyba - "...
Sobota, 7 Červen 2008 - 21:02 | Anonym | Myslim, že 1 MB ne, jelikož jeden obrázek v...
Úterý, 16 Říjen 2007 - 16:28 | Anonym | Hehehehe, za pár let budou osmijádrové procesory...
Pondělí, 15 Říjen 2007 - 22:39 | Anonym | To video s Q4 není tedy nijak zvlášť přesvědčivé...
Pondělí, 15 Říjen 2007 - 12:10 | fosgen | to Bender a Fry, Ládík neví o čem je řeč, tak...
Pondělí, 15 Říjen 2007 - 11:54 | Anonym | to bender:  ... jeste toho trochu do...
Pondělí, 15 Říjen 2007 - 11:45 | David Ježek | Federmann: zkus se tu trochu porozhlédnout,...
Pondělí, 15 Říjen 2007 - 11:36 | Anonym | vaseo: Přesně tak, naprostý souhlas.
Pondělí, 15 Říjen 2007 - 11:25 | Anonym | 2DES: to je krasna myslenka, raytraced-word......
Pondělí, 15 Říjen 2007 - 11:19 | Anonym | na paralelni vypocty, a tedy i na raytracing bude...

Zobrazit diskusi