PhysX | |
---|---|
Officielt logo | |
Type | Fysik motor |
Udviklere |
Nvidia (nuværende) NovodeX AG , Meqon Research AB , Ageia (tidligere) |
Nøgleprogrammør _ | Manju Hejd |
Hardware platforme | IBM PC-kompatible computere , PlayStation 3 , Xbox 360 , Wii , PlayStation 4 , Xbox One |
Understøttet OS | Windows , Linux , macOS , Android , iOS |
Licens | BSD-3 |
nyeste version | 9.21.0713 |
developer.nvidia.com/obj… nvidia.com/de-de/ |
PhysX ( MFA: [ˈfɪzɛks] , udtales [physiks]) er middleware ( engelsk middleware ), en fysikmotor på tværs af platforme til simulering af en række fysiske fænomener, samt et udviklingssæt ( SDK ) baseret på det. Oprindeligt udviklet af Ageia til deres PhysX fysiske processor . Efter at Ageia blev opkøbt af nVidia , blev motoren ejet af nVidia , som fortsætter sin videreudvikling. Nvidia tilpassede motoren til at accelerere fysikberegninger på sine CUDA - arkitektur -grafikchips . PhysX kan også udføre beregninger ved hjælp af en konventionel processor . PhysX er i øjeblikket tilgængelig på følgende platforme: Windows , Linux , macOS , Wii , PlayStation 3 , Xbox 360 , PlayStation 4 , Xbox One , Android , iOS (hardwareacceleration er kun mulig på Windows -platformen ). Motoren bruges i mange spil og blev aktivt udbudt til salg (licensering) til alle, til forskellige platforme [1] [2] [3] [4] [5] [6] .
Fra den 3. december 2018 er PhysX-kildekoden blevet genlicenseret under BSD-3 open source-licensen [7] [8] .
PhysX SDK -undersoftwaren giver spiludviklere mulighed for at undgå at skrive tilpasset kode til at håndtere komplekse fysikinteraktioner i nutidens pc-spil . Den 20. juli 2005 licenserede Sony PhysX SDK til brug i deres syvende generation PlayStation 3 videospilkonsol . [9] PhysX SDK kan bruges ikke kun på Microsoft Windows , men også på Linux , men PhysX- processorunderstøttelse er i øjeblikket kun tilgængelig for Windows.
I modsætning til de fleste andre fysikmotorer, der leveres og installeres med spillet, skal PhysX SDK installeres separat. Den er installeret som en separat driver . Hvis et PhysX- kort er installeret på computeren , vil PhysX SDK-driveren bruge sine ressourcer under drift. Hvis PhysX er fraværende, vil beregningsopgaver blive overført til den centrale processor . [ti]
PhysX SDK-fysikmotoren består af tre hovedfysikbehandlingskomponenter:
Når PhysX SDK-driveren er installeret, kan du se disse tre komponenter i motoren i aktion.
Den 13. februar 2008 købte NVIDIA Ageia , hvilket gjorde PhysX SDK proprietært til NVIDIA . [11] Understøttelse af PhysX SDK er blevet integreret i CUDA- rammeværket, som allerede har mange Linux- drivere . Dermed er behovet for en dedikeret fysisk PhysX- processor forsvundet. PhysX SDK-understøttelse er tilgængelig for alle Nvidia -grafikkort fra 8xxx-serien. PhysX SDK-fysikmotoren er nu kendt som NVIDIA PhysX SDK . [12]
I marts 2008 annoncerede Nvidia , at det ville gøre PhysX SDK til en åben standard tilgængelig for offentligheden. [13] Den 24. juli 2008 blev det rapporteret, at Nvidia ville frigive en WHQL-certificeret ForceWare-driver med understøttelse af fysikacceleration den 5. august 2008 . [14] [15]
På grund af ophøret af understøttelse af Havok FX var PhysX SDK-fysikmotoren indtil 2010 den eneste hardware-accelererede teknologi. [16] En anden fysikmotor , Bullet , modtog indledende støtte til hardwareaccelerationsteknologi med OpenCL , takket være aktiv støtte fra AMD .
Selvom PhysX SDK er designet til brug i computerspil, kan det også bruges i andre applikationer.
Den 15. august 2008 udgav NVIDIA ForceWare 177.83-driver med PhysX-understøttelse på grafikkort i GeForce 8, 9 og 200. Dette udvidede straks brugerbasen til over 70 millioner mennesker verden over. [17] [18]
Den 4. marts 2015 annoncerede NVIDIA tilgængeligheden af fulde PhysX-kilder. Motorkoden leveres som en del af det gratis PhysX SDK forberedt til Windows , Linux , macOS og Android [19]
Den 28. juni 2008 lancerede Eran Badit fra NGOHQ.com Arkiveret den 7. juli 2008 på Wayback Machine PhysX SDK-hardwareunderstøttelse på Radeon HD 3870 -grafikkortet . [20] I starten reagerede NVIDIA negativt på Eran Badits initiativ og sagde, at det var umuligt. Men den 9. juli 2008 blev Badit tilbudt at slutte sig til nVidias udviklingsteam , åbnede adgang til dokumentation, SDK , hardware og gav kontakter til ingeniører. [21] Det blev lovet, at modificerede drivere til ATI-kort snart ville være tilgængelige til download. Ifølge andre kilder støttede ATI til gengæld ikke officielt Badits initiativ . [22] For at skrive officielle (uændrede) ATI -drivere med PhysX-understøttelse tilbyder nVidia at licensere CUDA -hardwaresupport , som inkluderer PhysX. CUDA -teknologien konkurrerer dog med AMD's FireStream-teknologi .
I nVidia grafikdrivere version 186 er muligheden for at arbejde sammen mellem to grafikkort, der har GPU'er fra forskellige producenter ( AMD og nVidia ) installeret. Hvis det således tidligere var muligt at adskille beregninger for forskellige grafikkort (for eksempel kan et kort med en nVidia -processor beregne spilfysik, og et kort med en AMD-processor kan gengive billeder ) , så fra version 186, hvis en GPU fra en anden producent er fundet i systemet (selv integreret i chipsættet), så er denne funktion deaktiveret. Derudover understøtter den nye version af PhysX-motoren ikke PhysX-dedikerede fysiske acceleratorer (PPU'er) , udviklet af Ageia , hvis en ikke - NVIDIA GPU detekteres i systemet .
En nVidia- repræsentant forklarede situationen som følger:
PhysX er en åben softwarestandard, og enhver virksomhed kan frit udvikle hardware eller software, der understøtter den. NVIDIA understøtter NVIDIA GPU fysikacceleration, når NVIDIA GPU også bruges til grafik ... Af mange årsager - dels på grund af udviklingsomkostninger, dels på grund af testomkostninger, og dels af forretningsmæssige årsager vil NVIDIA ikke understøtte fysikacceleration af GPU'en , hvis grafik behandling udføres af en GPU fra en anden producent.
APEX er en tilføjelse på højt niveau, som NVIDIA har til hensigt at gøre det nemmere at inkorporere PhysX i spilprojekter og fremskynde udviklingsprocessen. APEX giver kunstnere og designere mulighed for at skabe fysiske effekter med minimalt programmeringsinput. I stedet for PhysX API på lavt niveau er udvikleren forsynet med et sæt værktøjer til at skabe visse fysiske effekter baseret på færdiglavede APEX-moduler. Brugen af disse moduler sikres ved integration af APEX-rammerne i spilmotorer.
Spilmotorer, der bruger PhysX SDK-komponenter som et fysikundersystem:
Nvidia | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GPU'er ( sammenligning ) _ |
| ||||||||||
Bundkort chipsæt ( sammenligning ) _ |
| ||||||||||
Andet |
|
Spilmotorer | |||||||
---|---|---|---|---|---|---|---|
Grafisk | Ledig GLScene Horde3D Irrlicht OGRE OpenSceneGraph Proprietære Outra | ||||||
Fysisk | Ledig Box2D Kugle Jordegern newton O.D.E. Tokamak Proprietære DMM Havok Fysik PhysX | ||||||
generelle formål |
| ||||||
Specialiseret |
| ||||||
Liste over spilmotorer |