Zamyšlení nad budoucností PhysX | Kapitola 3
Seznam kapitol
Na diskuzních fórech všech technických webů se v poslední době vedou vášnivé diskuze a spory o tom, jak moc je vlastně hardwarově akcelerovaná fyzika PhysX přínosem pro hráče a nebo naopak jsou přidané efekty zbytečné. Aktuální situace je díky jednostranné podpoře PhysX celkem nepříjemná pro majitele ATI, bude to v časem lepší?
DirectCompute není specializované rozhraní pro akceleraci fyziky. Je to prostě a jednoduše jenom rozhraní, umožňující využívat GPGPU funkcí moderních akcelerátorů bez toho, aby se programátor musel nějak zásadněji starat o to, jaký hardware vlastně poběží v počítači. Může pohánět fyzikální engine stejně jako enkódovat video, ale pouze pokud se najde někdo, kdo příslušnou aplikaci či enkodér přepíše právě pro DirectCompute. Totéž platí pro OpenCL. Opět se jedná pouze a jedině o rozhraní, které umožňuje jednotně programovat a využívat GPGPU funkce akcelerátorů. Microsoft tedy přináší jakýsi sjednocující prvek do chaotické situace, ale ten není samospásný.
Co se tedy po příchodu nového
DirectX 11 změní na přístupu
vývojářů? V nejbližší době asi nic moc. S největší
pravděpodobností se úplně vykašlou na nějaké DirectCompute a
pojedou
dále tak,
jako dosud. Tedy využijí existující PhysX (nebo Havok) engine, který
mají zdarma a
se kterým
do hry přidají jak klasickou fyziku přes CPU, tak potom i dle uvážení,
času a
prostředků přidají hardwarově akcelerované fyzikální efekty.
V tom jim
navíc bude pomáhat tým Nvidie, samozřejmě pokud se bude jednat o nějaký
AAA
titul. Podle informací z Nvidie je totiž najednou o podporu a
programátory
z TWIMTBP enormní zájem a poptávka výrazně převyšuje možnosti týmu.
Ale
zpátky.
Paradoxní na celé situaci je, že i když efekty PhysX budou fungovat
pouze na
hardware od Nvidie a majitelé Radeonů budou mít smůlu, tak přesto je
využije
mnohem více lidí, než kdyby hra podporovala nové DirectX 11 a využívala
DirectCompute. Nezdá se vám to? Je to tak a ještě minimálně do
poloviny, ne li
do konce příštího roku to tak bude. Stačí se nad tím zamyslet, PhysX
akcelerace
funguje totiž na generaci grafických karet GeForce 8x00, která je na
trhu od
roku 2006. Pochopitelně ty nejstarší/nejpomalejší karty nejsou pro
akceleraci
fyziky úplně ideální, ale pořád je to více než rok, co se prodává
generace
GeForce 2x0 a ta už stačí (nemluvíme zrovna o GTS 250). Což tvoří
poměrně
velkou
základnu uživatelů, kteří efekty můžou využít. Oproti tomu karty
s podporou DirectX 11 se letos před vánoci objevily na trhu a
jejich větší
rozšíření nastane až během příštího roku, spíše ale v roce
následujícím.
Simulace oceánu vytvořená pomocí rychlých
fourierových transformací - DirectCompute
Pokud ale bude chtít jít vývojář s dobou a rovnou dneska začít přidávat do hry nejrůznější fyzikální efekty a využívat k tomu veškerý kompatibilní hardware pomocí DirectCompute (nebo OpenCL), bude muset udělat všechno pěkně od začátku vlastními silami. Není tady totiž žádný fyzikální engine pro DX11, nejsou tady žádné knihovny speciálních efektů usnadňující programátorům práci, není tu zatím v podstatě nic. Takhle shrnuté ve dvou větách to zní možná jednoduše, ale pro programátory představuje takový vlastní fyzikální engine dalšího půl roku nebo i více práce navíc. Do toho můžou investovat jen ty největší z největších, jako třeba Crytek s CryEngine 3 nebo třeba teoreticky Epic se zatím neohlášeným Unreal Engine 4. Za ním bude s největší pravděpodobností stát Tim Sweeney, který ostatně měl vynikající rozhovor na tohle téma pro Ars Technica.
Teoretickou naději na tomhle poli představuje nová verze Havoku od Intelu s podporou hardwarové akcelerace. Jenže od dema, které bylo k vidění někdy na jaře 2009, se neobjevily žádné další informace a nepředpokládám, že by si Intel takový projekt sušil v rukávu a připravoval utajeně, bez vazeb na herní vývojáře a komunitu. Samozřejmě možná nás čeká překvapení a 22. října s uvedením Windows 7 přijde jako blesk z čistého nebe nějaké ohlášení o znovuzrození Havoku, ale osobně o tom pochybuji. Vždyť už i AMD oficiálně ohlásilo raději podporu pro open source fyzikální engine Bullet Physics, než aby spoléhalo na nový Havok. Intel prostě nemá motivaci pomáhat výrobcům grafických karet, počká si nejspíš na své Larabee a pak možná upraví Havok.