PhysX

PhysX

Officiell logotyp
Sorts Fysik motor
Utvecklare Nvidia (nuvarande)
NovodeX AG , Meqon Research AB , Ageia (tidigare)
Nyckelprogrammerare _ Manju Hejd
Hårdvaruplattformar IBM PC-kompatibla datorer , PlayStation 3 , Xbox 360 , Wii , PlayStation 4 , Xbox One
OS som stöds Windows , Linux , macOS , Android , iOS
Licens BSD-3
senaste versionen 9.21.0713
developer.nvidia.com/obj…
nvidia.com/de-de/

PhysX ( MFA: [ˈfɪzɛks] , uttalas [physiks]) är middleware ( engelska  middleware ), en plattformsoberoende fysikmotor för att simulera ett antal fysiska fenomen, samt ett utvecklingskit ( SDK ) baserat på den. Ursprungligen utvecklad av Ageia för deras PhysX fysiska processor . Efter att Ageia köptes upp av nVidia blev motorn nVidias egendom , som fortsätter sin vidareutveckling. Nvidia anpassade motorn för att påskynda fysikberäkningar på sina CUDA - arkitekturgrafikchips . PhysX kan också utföra beräkningar med en konventionell processor . PhysX är för närvarande tillgängligt på följande plattformar: Windows , Linux , macOS , Wii , PlayStation 3 , Xbox 360 , PlayStation 4 , Xbox One , Android , iOS (maskinvaruacceleration är endast möjlig på Windows -plattformen ). Motorn används i många spel och erbjöds aktivt till försäljning (licensiering) till alla, för olika plattformar [1] [2] [3] [4] [5] [6] .

Från och med den 3 december 2018 har PhysX-källkoden återlicensierats under BSD-3- licensen för öppen källkod [7] [8] .

Beskrivning

Underprogramvaran PhysX SDK tillåter spelutvecklare att undvika att skriva anpassad kod för att hantera komplexa fysikinteraktioner i dagens PC-spel . Den 20 juli 2005 licensierade Sony PhysX SDK för användning i sin sjunde generation PlayStation 3 -spelkonsol . [9] PhysX SDK kan användas inte bara på Microsoft Windows utan även på Linux , men PhysX- processorstöd är för närvarande endast tillgängligt för Windows.

Till skillnad från de flesta andra fysikmotorer som levereras och installeras med spelet, måste PhysX SDK installeras separat. Den är installerad som en separat drivrutin . Om ett PhysX- kort är installerat på datorn kommer PhysX SDK-drivrutinen att använda sina resurser under drift. Om PhysX är frånvarande, kommer beräkningsuppgifter att överföras till den centrala processorn . [tio]

PhysX SDK-fysikmotorn består av tre huvudsakliga fysikbearbetningskomponenter:

När PhysX SDK-drivrutinen är installerad kan du se dessa tre komponenter i motorn i aktion.

Den 13 februari 2008 förvärvade NVIDIA Ageia , vilket gör PhysX SDK proprietärt för NVIDIA . [11] Stöd för PhysX SDK har integrerats i CUDA- ramverket, som redan har många Linux- drivrutiner . Därmed har behovet av en dedikerad fysisk PhysX- processor försvunnit. PhysX SDK-stöd är tillgängligt för alla Nvidia -grafikkort från 8xxx-serien. PhysX SDK-fysikmotorn är nu känd som NVIDIA PhysX SDK . [12]

I mars 2008 meddelade Nvidia att de skulle göra PhysX SDK till en öppen standard tillgänglig för allmänheten. [13] Den 24 juli 2008 rapporterades det att Nvidia skulle släppa en WHQL-certifierad ForceWare-drivrutin med stöd för fysikacceleration den 5 augusti 2008 . [14] [15]

På grund av slutet på stödet för Havok FX var PhysX SDK-fysikmotorn fram till 2010 den enda hårdvaruaccelererade tekniken. [16] En annan fysikmotor , Bullet , fick initialt stöd för hårdvaruaccelerationsteknik med OpenCL , tack vare aktivt stöd från AMD .

Även om PhysX SDK är designad för användning i datorspel, kan den också användas i andra applikationer.

Den 15 augusti 2008 släppte NVIDIA ForceWare 177.83-drivrutin med PhysX-stöd i grafikkort i GeForce 8, 9 och 200. Detta utökade omedelbart användarbasen till över 70 miljoner människor världen över. [17] [18]

Den 4 mars 2015 tillkännagav NVIDIA tillgången på fullständiga PhysX-källor. Motorkoden tillhandahålls som en del av den kostnadsfria PhysX SDK förberedd för Windows , Linux , macOS och Android [19]

Möjlighet att köra PhysX på tredjeparts GPU:er

Den 28 juni 2008 lanserade Eran Badit från  NGOHQ.com Arkiverad den 7 juli 2008 på Wayback Machine PhysX SDK-hårdvarustöd på Radeon HD 3870 -grafikkortet . [20] Inledningsvis reagerade NVIDIA negativt på Eran Badits initiativ och sa att det var omöjligt. Men den 9 juli 2008 erbjöds Badit att gå med i nVidias utvecklingsteam , öppnade åtkomst till dokumentation, SDK , hårdvara och gav kontakter till ingenjörer. [21] Det utlovades att modifierade drivrutiner för ATI-kort snart skulle vara tillgängliga för nedladdning. Enligt andra källor stödde ATI i sin tur inte officiellt Badits initiativ . [22] För att skriva officiella (omodifierade) ATI- drivrutiner med PhysX-stöd, erbjuder nVidia att licensiera CUDA -hårdvarustöd , som inkluderar PhysX. CUDA - tekniken konkurrerar dock med AMD:s FireStream-teknik .

I nVidia grafikdrivrutiner version 186 är möjligheten att arbeta tillsammans mellan två grafikkort som har GPU från olika tillverkare ( AMD och nVidia ) installerad. Således, om det tidigare var möjligt att separera beräkningar för olika grafikkort (till exempel kan ett kort med en nVidia -processor beräkna spelfysik, och ett kort med en AMD-processor kan  rendera bilder ) , så från version 186, om en GPU från en annan tillverkare upptäcks i systemet (även integrerad i chipsetet), då är den här funktionen inaktiverad. Dessutom stöder den nya versionen av PhysX-motorn inte PhysX dedikerade fysiska acceleratorer (PPU) , utvecklade av Ageia , om en icke- NVIDIA GPU upptäcks i systemet .

En nVidia- representant förklarade situationen på följande sätt:

PhysX är en öppen mjukvarustandard och alla företag är fria att utveckla hårdvara eller mjukvara som stöder den. NVIDIA stöder NVIDIA GPU fysikacceleration när NVIDIA GPU också används för grafik... Av många anledningar - dels grund av utvecklingskostnader, dels på grund av testkostnader, och dels av affärsskäl kommer NVIDIA inte att stödja fysikacceleration av GPU :n , om grafik bearbetning utförs av en GPU från en annan tillverkare.

APEX PhysX

APEX är ett tillägg på hög nivå som NVIDIA har för avsikt att göra det lättare att integrera PhysX i spelprojekt och påskynda utvecklingsprocessen. APEX låter konstnärer och designers skapa fysiska effekter med minimal programmering. Istället för PhysX API på låg nivå förses utvecklaren med en uppsättning verktyg för att skapa vissa fysiska effekter baserade på färdiga APEX-moduler. Användningen av dessa moduler säkerställs genom integrationen av APEX-ramverket i spelmotorer.

Spelmotorer

Spelmotorer som använder PhysX SDK-komponenter som ett fysikundersystem:

Se även

Anteckningar

  1. Roman Epishin. THQ röstar för fysik (inte tillgänglig länk) . Hasardspel (22 december 2008). Hämtad 23 december 2008. Arkiverad från originalet 14 maj 2013. 
  2. Pavel Shubsky. PlayStation 3 kommer att få PhysX (inte tillgänglig länk) . Hasardspel (18 mars 2009). Hämtad 18 mars 2009. Arkiverad från originalet 22 mars 2009. 
  3. PhysX för PS3-spel . GameTech (18 mars 2009). Hämtad 18 mars 2009. Arkiverad från originalet 16 mars 2012.
  4. Alexander Budik. NVIDIA PhysX kommer till Sony PS3 . 3DNews (18 mars 2009). Hämtad 25 mars 2009. Arkiverad från originalet 23 mars 2009.
  5. Evgeny Kurochkin. NVIDIA PhysX finns nu på Wii . Land of Games (20 mars 2009). Datum för åtkomst: 21 mars 2009. Arkiverad från originalet 24 maj 2013.
  6. Alexander Shemetov. Nintendo säger ja till NVIDIA PhysX . 3DNews (21 mars 2009). Datum för åtkomst: 25 mars 2009. Arkiverad från originalet 24 mars 2009.
  7. Nvidia blev galen och öppnar PhysX under BSD-3 . Hämtad 4 december 2018. Arkiverad från originalet 4 december 2018.
  8. NVIDIA utökar PhysX för High-Fidelity-simuleringar, går med öppen källkod . Hämtad 4 december 2018. Arkiverad från originalet 4 december 2018.
  9. Sony Computer Entertainment Inc. (21 juli 2005). Sony Computer Entertainment ingår strategiskt licensavtal med AGEIA (i sv). Pressmeddelande . Arkiverad från originalet den 16 februari 2008. Hämtad 23 augusti 2006 .
  10. PhysX för CUDA, Linux-stöd givet?  (engelska) . phoronix.com. Hämtad 14 februari 2008. Arkiverad från originalet 16 mars 2012.
  11. NVIDIA slutför förvärvet av AGEIA Technologies: Finansiella nyheter - Yahoo! Finans Arkiverad 17 april 2008 på Wayback Machine  (nedlänk sedan 2013-05-14 [3458 dagar] - historik )
  12. Alexander Shemetov. Vem är bättre "accelererar fysik", GeForce 9500 GT eller Core 2 Extreme QX9770? . 3DNews (4 augusti 2008). Hämtad 4 augusti 2008. Arkiverad från originalet 7 augusti 2008.
  13. Nvidia erbjuder PhysX-stöd till AMD/ATI Arkiverad 13 mars 2008.  (otillgänglig länk sedan 2013-05-14 [3458 dagar] - historik )
  14. Pavel "xAnder" Shubsky. NVIDIA WHQL-drivrutin för PhysX - början av augusti (nedlänk) . Hasardspel (24 juli 2008). Datum för åtkomst: 27 juli 2008. Arkiverad från originalet 28 juli 2008. 
  15. Alexander Shemetov. Nya NVIDIA PhysX-drivrutiner: cirka 25 % ökning i 3DMark Vantage . 3DNews ( 23 juni 2008a ). Hämtad 4 augusti 2008. Arkiverad från originalet 2 augusti 2008.
  16. Shilov, Anton GPU Physics död för nu, säger AMD:s chef för utvecklarrelationer. Nvidias Chief Exec förutspår "negativa synergier" med Intels förvärv av Havok . Xbit Laboratories (19 november 2007). Hämtad 26 november 2007. Arkiverad från originalet 16 februari 2012.
  17. NVIDIA släpper drivrutinen för PhysX-hårdvarustöd . GameDev.ru (15 augusti 2008). Datum för åtkomst: 27 oktober 2008. Arkiverad från originalet den 5 januari 2012.
  18. Vinnie Vessey. Nästan gratis fysik . RusDoc.ru (14 oktober 2008). Hämtad 19 oktober 2008. Arkiverad från originalet 16 februari 2012.
  19. Senaste PhysX-källkoden nu tillgänglig gratis på GitHub (4 mars 2015). Tillträdesdatum: 5 mars 2015. Arkiverad från originalet 28 mars 2015.
  20. BlackCat. PhysX är hackat och inte längre exklusivt för NVIDIA- kort . IXBT.com (28 juni 2008). Hämtad 9 juli 2008. Arkiverad från originalet 29 juni 2009.
  21. Pavel "xAnder" Shubsky. NVIDIA öppnar PhysX-stöd för ATI Radeon? (inte tillgänglig länk) . Hasardspel (9 juli 2008). Hämtad 9 juli 2008. Arkiverad från originalet 3 september 2009. 
  22. ↑ En nVidia driver cracker anställdes av... nVidia . Toms hårdvara (9 juli 2008). Hämtad 13 juni 2009. Arkiverad från originalet 10 mars 2013.

Länkar

Enskilda artiklar