PhysX - PhysX
Eredeti szerző (k) | NovodeX AG ( ETH Zürich ) |
---|---|
Fejlesztő (k) |
Nvidia Corporation (2008-tól napjainkig) Ageia (2004-2008) NovodeX AG (2001-2004) |
Stabil kiadás | 9.21.0713 / 2021. október 12.
|
Adattár | https://github.com/NVIDIAGameWorks/PhysX |
Operációs rendszer | Microsoft Windows , macOS , Linux , PlayStation 2 , PlayStation 3 , PlayStation 4 , Xbox 360 , Xbox One , Wii , iOS , Android |
típus | Fizikai szimuláció |
Engedély | BSD-3 |
Weboldal | Nvidia PhysX fejlesztői webhely |
A PhysX egy nyílt forráskódú, valós idejű fizika motoros köztes szoftver SDK, amelyet az Nvidia fejlesztett ki az Nvidia GameWorks szoftvercsomag részeként .
Kezdetben videojátékok támogatja a PhysX szánták kell gyorsítani a PhysX PPU ( bővítőkártyák által tervezett Ageia ). Azonban, miután Ageia megszerzése Nvidia dedikált PhysX kártya már megszűnt javára API lény fut CUDA -képes GeForce GPU . Mindkét esetben a hardveres gyorsítás lehetővé tette a fizika számításainak a CPU -ból való letöltését , lehetővé téve, hogy más feladatokat végezzen.
A PhysX és más köztes szoftveres fizikai motorokat a mai videojátékok nagy többségében használják, mert mentesítik a játékfejlesztőket attól, hogy saját kódot írjanak, amely a klasszikus mechanikát (newtoni fizika) valósítja meg , például a puha testdinamika érdekében .
Történelem
A ma PhysX néven ismert NovodeX nevű fizika szimulációs motor. A motort a svájci NovodeX AG, az ETH Zürich spin-off cég fejlesztette ki. 2004 -ben az Ageia felvásárolta a NovodeX AG -t, és megkezdte a hardver technológia kifejlesztését, amely felgyorsíthatja a fizikai számításokat, segítve a CPU -t. Az Ageia a technológiát PhysX -nek nevezte, az SDK -t átnevezték NovodeX -ről PhysX -re, a gyorsító kártyákat pedig PPU -nak (Physics Processing Units) nevezték el.
Az első játék, amely a PhysX -et használta, a Bet On Soldier: Blood Sport (2005) volt.
2008 -ban az Ageiát megvásárolta az Nvidia grafikai technológia gyártó. Az Nvidia megkezdte a PhysX hardveres gyorsítás engedélyezését GeForce grafikus kártyáin, és végül megszüntette az Ageia PPU -k támogatását.
A PhysX SDK 3.0 2011 májusában jelent meg, és az SDK jelentős átírását jelentette, olyan fejlesztésekkel, mint például a hatékonyabb többszálas és egységes kódbázis minden támogatott platform számára.
A 2015 -ös GDC -n az Nvidia elérhetővé tette a PhysX forráskódját a GitHub -on , de regisztrációt igényelt a developer.nvidia.com oldalon. A szabadalmaztatott SDK-t ingyenesen bocsátották a fejlesztők rendelkezésére kereskedelmi és nem kereskedelmi célokra Windows , Linux , macOS , iOS és Android platformokon.
2018. december 3-án a PhysX nyílt forráskódúvá vált egy 3 záradékos BSD licenc alapján , de ez a változás csak a számítógépes és mobil platformokra vonatkozott.
A PhysX 5.0-t 2019 decemberében jelentették be, de a COVID-19 járvány miatt nem hozták nyilvánosságra .
Jellemzők
A PhysX motor és az SDK elérhető Microsoft Windows, macOS, Linux, PlayStation 3 , PlayStation 4 , Xbox 360 , Xbox One , Wii , iOS és Android rendszerekhez.
A PhysX egy többszálú fizika szimulációs SDK. Ez támogat merev test dinamika , lágy test dinamika (mint a szövet szimuláció , beleértve a könnyezés és nyomás ruhával), ragdolls és karakter vezérlők, jármű dinamikáját, részecskék és térfogati folyadék szimuláció.
Hardveres gyorsítás
PPU
A fizikafeldolgozó egység (PPU) olyan processzor, amelyet kifejezetten a CPU számítási terheinek enyhítésére terveztek, különösen a fizikát érintő számításokhoz. A PhysX PPU -kat PCI vagy PCIe kártyák formájában kínálták a fogyasztóknak az ASUS , a BFG Technologies , a Dell és az ELSA Technology .
A PhysX SDK 2.8.3 -as verziójától kezdve megszűnt a PPU -kártyák támogatása, és a PPU -kártyákat már nem gyártják. Az Ageia által tervezett PhysX PPU önálló kártya utolsó inkarnációja nagyjából ugyanolyan PhysX teljesítményű volt, mint egy dedikált 9800GTX.
GPU
Miután az Nvidia felvásárolta az Ageia -t, a PhysX fejlesztése elfordult a PPU -bővítőkártyáktól, és inkább a modern GPU -k GPGPU -képességeire összpontosított .
A modern GPU-k nagyon hatékonyak a számítógépes grafika manipulálásában és megjelenítésében, és rendkívül párhuzamos felépítésük hatékonyabbá teszi őket, mint az általános célú CPU-k a fizikai szimulációk gyorsítására a PhysX segítségével.
Bármely CUDA -kész GeForce grafikus kártya (8 -as vagy újabb GPU, legalább 32 maggal és legalább 256 MB dedikált grafikus memóriával) kihasználhatja a PhysX előnyeit, anélkül, hogy telepítenie kellene egy külön PhysX kártyát.
CSÚCS
Az Nvidia APEX technológia egy többplatformos skálázható dinamikai keretrendszer, amely a PhysX SDK köré épül. 2010 augusztusában mutatták be először a Mafia II -ben.
Az 1.4.1 verziótól kezdve az APEX SDK elavult.
Nvidia FleX
A FleX részecske alapú szimulációs technika valós idejű vizuális effektekhez. Hagyományosan a vizuális effekteket olyan elemek kombinációjával készítik el, amelyek speciális megoldókkal készültek merev testekhez, folyadékokhoz, ruházathoz stb. zökkenőmentesen. Az ilyen egységes fizikamegoldók az offline számítógépes grafika világának alapvető elemei , ahol széles körben használják az olyan eszközöket, mint az Autodesk Maya nCloth és a Softimage Lagoa. A FleX célja, hogy a GPU-k erejét felhasználva valósítsa meg ezen offline alkalmazások képességeit a valós idejű számítógépes grafikában.
Kritika a Real World Technologies részéről
2010. július 5 -én a Real World Technologies közzétette a PhysX architektúra elemzését. Ezen elemzés szerint az akkoriban a PhysX alkalmazásokban használt legtöbb kód x87 utasításokon alapult, többszálú optimalizálás nélkül. Ez jelentős teljesítménycsökkenést okozhat, ha PhysX kódot futtat a CPU -n. A cikk azt sugallta, hogy az SSE utasításokat használó PhysX -átírás jelentősen csökkentheti a CPU PhysX és a GPU PhysX teljesítménybeli eltérését.
A Real World Technologies elemzésére válaszul Mike Skolones, a PhysX termékmenedzsere elmondta, hogy az SSE támogatást elhagyták, mert a legtöbb játékot először konzolokra fejlesztették, majd átvitték a PC -re. Ennek eredményeképpen a modern számítógépek gyorsabban és jobban futtatják ezeket a játékokat, mint a konzolok, még akkor is, ha kevés optimalizálás van. Az Nvidia vezető PR-menedzsere, Bryan Del Rizzo elmagyarázta, hogy a többszálas szálazás már rendelkezésre állt a CPU PhysX 2.x rendszerben, és a fejlesztő feladata volt használni. Azt is kijelentette, hogy az automatikus többszálú és SSE bevezetésre kerül a PhysX SDK 3. verziójával.
A PhysX SDK 3.0 2011 májusában jelent meg, és az SDK jelentős átírását jelentette, olyan fejlesztésekkel, mint például a hatékonyabb többszálas és egységes kódbázis minden támogatott platform számára.
Használat
PhysX videojátékokban
A PhysX technológiát olyan játékmotorok használják, mint az Unreal Engine (3 -as verzió ), Unity , Gamebryo , Vision (6 -os verzió), Instinct Engine, Panda3D , Diesel , Torque , HeroEngine és BigWorld .
A maroknyi nagy fizikai motor egyikeként számos játékban használják, mint például a The Witcher 3: Wild Hunt , Warframe , Killing Floor 2 , Fallout 4 , Batman: Arkham Knight , Borderlands 2 , stb. a processzor a fizikai szimulációk feldolgozásához.
A videojátékok, amelyek opcionálisan támogatják a hardveresen gyorsított PhysX-et, gyakran tartalmaznak olyan további effektusokat, mint a téphető kendő, dinamikus füst vagy szimulált részecsketörmelék.
PhysX más szoftverekben
A PhysX támogatással rendelkező egyéb szoftverek a következők:
- Active Worlds (AW), egy 3D -s virtuális valóság platform, amelynek ügyfele Windows -on fut
- Az Amazon Lumberyard , az Amazon által kifejlesztett 3D -s játékfejlesztő motor
- Autodesk 3ds Max , Autodesk Maya és Autodesk Softimage , számítógépes animációs csomagok
- DarkBASIC Professional (a DarkPHYSICS upgrade), egy programozási nyelv célzó játékfejlesztés
- DX Studio , integrált fejlesztői környezet interaktív 3D grafika készítéséhez
- Futuremark „s 3DMark06 és Vantage összehasonlítási eszközöket
- Microsoft Robotics Studio , a robotok vezérlésének és szimulációjának környezete
- Az Nvidia SuperSonic Sled és Raging Rapids Ride technológiai bemutatói
- OGRE (az NxOgre csomagolóanyagon keresztül), nyílt forráskódú renderelő motor
- A Physics Abstraction Layer , egy fizikai szimulációs API absztrakciós rendszer ( COLLADA és Scythe Physics Editor támogatást nyújt a PhysX számára)
- Rayfire, az Autodesk 3ds Max bővítménye, amely lehetővé teszi a törést és más fizikai szimulációkat
- A Physics Engine Evaluation Lab, a fizikai motorok értékelésére, összehasonlítására és összehasonlítására szolgáló eszköz.
- Unreal Engine játékfejlesztő szoftver az Epic Games -től . Az Unreal Engine 4.26 és újabb verziói hivatalosan megszüntették a PhysX használatát.
- Unity (játékmotor) , Unity ApS. A Unity adatközpontú technológiai kötege nem használja a PhysX-et.
Lásd még
- DirectX
- Bullet (szoftver)
- Havok (szoftver)
- Nyissa meg a Dynamics Engine programot
- Newton játékdinamika
- OpenGL
- Vortex (szoftver)
- AGX Multiphysics