Fyzikální zákony ve hrách
Akcelerátory fyziky: Superreálné 3D světy
Mohutné exploze, skutečný kouř a šplouchající voda. Nové speciální čipy mají za úkol integrovat do 3D her zákony fyziky až do nejmenšího detailu.
Text: Thomas Littschwager
„Fyzika“ označuje interaktivní chování objektů všech tvarů a velikostí podle fyzikálních přírodních zákonů. To však ani u nejnovějších 3D her doposud úplně neplatí. Interakce většiny objektů ve 3D hrách není věrná skutečnosti a kolidující předměty se chovají nereálně. Zdaleka nelze uchopit či použít jakýkoli předmět, kromě toho nepevné látky jako oheň, mlha nebo voda ve hře vypadají zvláštně, jakoby jednotvárně nebo neprůhledně.
To by se však nyní mělo změnit. Různí výrobci vyvinuli různá vlastní řešení pro integraci fyziky do počítačových her. Americký výrobce čipů Ageia uvedl na trh procesor PhysX, společnosti ATI a nVidia přenesly výpočty fyziky na grafickou kartu. Obě řešení mají odstranit nedostatky, kterými trpí současný hardware: při reálných výpočtech interakce mezi skutečně mnoha - tedy tisíci - objekty dojde i těm nejsilnějším CPU někdy dech.
Ageia PhysX:
První skutečný čip pro akceleraci fyziky
PPU (Physics Processing Unit) PhysX, čip vyvinutý společností Ageia, přebírá od CPU prakticky veškerou práci při akceleraci fyziky - CPU předává PPU již pouze data pozic a rychlostí objektů. Kompletní identifikace a rozklad kolize probíhají v čipu PhysX (viz obrázek níže).
Pomocí architektury dimenzované na paralelní výpočty fyziky má PPU PhysX počítat pozice a chování 32 000 objektů současně. Jak to skutečně funguje, zůstává prozatím tajemstvím společnosti Ageia. Doposud neexistuje žádný software, který by umožňoval benchmarková měření pro výpočet akcelerované fyziky pomocí PPU, popř. CPU.
Přesto společnosti Asus a BFG již uvedly na trh karty s čipy PhysX (cca 7000 Kč). Háček je v tom, že pro řízení čipu PhysX musí aplikace používat API od firmy Ageia - což je realizováno doposud pouze u jedné hry („Ghost Recon: Advanced Warfighter“) a u několika demoher.
ATI & nVidia reagují:
GPU jako akcelerátory fyziky
Výrobci grafických čipů ATI a nVidia pochopili krok firmy Ageia jako útok na vlastní 3D doménu a obratem představili vlastní řešení - zasunuli do počítače dodatečnou grafickou kartu. Moderní grafické karty totiž mají díky velkému počtu paralelních početních jednotek disponovat schopností simultánně počítat fyziku „tisíců“ objektů. K realizaci projektů si oba rivalové přizvali největšího výrobce 3D-enginů, firmu Havok.
Hry s rendering-enginem „Havok FX“ už umí posílat příkazy pro výpočet nejen na CPU, ale i přímo na grafické čipy. Pomocí flexibilně použitelných výpočetních jednotek („shader“) mají být výpočty 3D a fyziky možné i jen na jedné kartě. Aby byla k dispozici dostatečná výpočetní kapacita, je však vhodné do PEG slotu zasunout druhou, nebo dokonce třetí grafickou kartu (viz vpravo), aby GPU (Graphics Processing Unit) mohla provádět výhradně výpočty fyziky.
Know-how:
Fyzika efektů a herní fyzika ve 3D světech
Při výpočtech 3D světů se rozlišují dva druhy fyziky. Herní fyzika („game physics“) ovlivňuje přímo průběh hry - např. padající kameny, které blokují cestu. Zde vystupuje do popředí pohyb a zrychlení objektů a jejich kolize.
Fyzika efektů („effect physics“) zajišťuje pouze reálné zobrazení procesů - bez přímého dopadu na průběh hry. Fyzika efektů se zabývá především nejmenšími částicemi komplexu, jako jsou např. kapaliny nebo kouř. Velký rozdíl mezi oběma druhy fyziky je v tom, že fyzika efektů - hnaná stále náročnějšími grafickými procesory - se stará výhradně o pěknou optiku, zatímco výpočty herní fyziky ovlivňují veškeré dění. V tom také spočívá základní problém herní fyziky: pro každý objekt v rámci daného světa musí být definováno, jestli vstupuje do interakce s jiným objektem (většinou ve formě kolize), a také to, co se poté stane. Identifikace a rozklad kolize (které efekty po střetu nastanou) probíhají podle rovnic newtonovské fyziky. To se snadno řekne - výpočet jedné kolize je však již při malém množství objektů příčinou řady operací s plovoucí čárkou, které musí být všechny vypočítány paralelně.
Herní fyzika:
Nový hardware uleví CPU
Enormní náročnost na zdroje byla příčinou toho, že se reálná herní fyzika v herním světě doposud neprosadila ve větší míře. Na rozdíl od fyziky efektů je tolerance chyb u herní fyziky velice nízká. Pokud 3D výkon grafického čipu nestačí na plné zobrazení, ve fyzice efektů se prostě jen vynechá jeden obraz („frame dropping“).
Výpočet herní fyziky musí být naproti tomu kompletně dokončen, jinak nebyl celý výpočet k ničemu. A to vyžaduje extrémně vysoký početní výkon. Skutečně reálné výpočty fyziky byly proto doposud používány pouze u vědeckých výpočtů, jako např. u simulace proudění, u předpovědí počasí -pomocí masivních, paralelně probíhajících výpočtů na superpočítačích. Až teprve díky hardwarem podporované akceleraci fyziky si mohou užívat reálné herní fyziky i hráči počítačových her.
Pohled do budoucna:
Microsoft je ve hře - rozhodují však hry
Při poslední revoluci počítačové grafiky před 10 lety „prodala“ hra „Quake“ firmě 3dfx bezpočet karet Voodoo - ty byl začátek masivního nástupu 3D akcelerátorů u osobních počítačů. Takový kasovní trhák u akcelerace fyziky zatím schází: dosavadní hry PhysX velkou hysterii nevyvolaly a hry Havok FX akcelerované pomocí GPU se mají objevit až v roce 2007.
V zákulisí se však připravuje něco velmi slibného: Microsoft vyvíjí rozšíření pro DirectX10 „DirectPhysics“, které má vytvořit standardizované programové rozhraní pro hardware fyziky. PhysX je již licencován Microsoftem, řešení založená na GPU by mohla následovat. O tom, které řešení se nakonec prosadí, rozhodne nabídka her. V tomto smyslu může Ageia pouze doufat, že přicházející 3D trhák „Unreal Tournament 2007“ bude díky podpoře PhysX skutečným zabijákem aplikací.
Ageia PhysX:
Perfektní 3D zobrazení díky dodatečnému čipu
CPU posílá data pozic všech objektů na vysoce specializovaný akcelerátor PhysX (PPU). Ten nejdříve zjistí, jestli dochází ke kolizím. Pokud se objekty dotknou, vypočítá PPU na základě jejich orientace a rychlosti fyzicky správné chování částí objektu. Následně se GPU postará o jejich odpovídající zobrazení a celý proces po zlomcích sekundy začíná znovu od začátku. Výhodou je skutečnost, že PPU umí vypočítat podstatně více objektů než CPU. Ta má poté dostatek výkonu na jiné, důležitější úlohy, např. pro výpočet umělé inteligence.
Dokumenty ke stažení- Hardware - Akcelerátory fyziky: Superreálné 3D světy (311.62 kB) - Staženo 1944x