Revision as of 17:03, 21 September 2007 editWynler (talk | contribs)582 editsm →Board Partners: fixed header← Previous edit | Latest revision as of 19:53, 9 October 2024 edit undo2a00:23c5:fe1c:3701:b146:4ae2:481f:6d89 (talk)No edit summary | ||
(989 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Realtime physics engine software}} | |||
<!-- Commented out because image was deleted: ] --> | |||
{{Use mdy dates|date=May 2013}} | |||
'''PhysX''' can refer either to a ] ] ] ] ] developed by ] (formerly known as the NovodeX SDK) or their ] expansion card designed to accelerate that SDK. | |||
{{Infobox software | |||
| logo = ] | |||
| name = PhysX | |||
| screenshot = | |||
| caption = | |||
| author = NovodeX AG (]) | |||
| developer = ]<br/><small>(2008-present)</small><br />]<br/><small>(2004-2008)</small><br />NovodeX AG<br/><small>(2001-2004)</small> | |||
| latest_release_version = Blast 5.0.0; PhysX SDK 5.1.3; Flow 2.0.2 | |||
| latest_release_date = {{Release date|2023|02|23}} | |||
| repo = https://github.com/NVIDIA-Omniverse/PhysX (5.x) <br /> https://github.com/NVIDIAGameWorks/PhysX (4.x) | |||
| programming language = ] | |||
| operating_system = ], ], ], ], ], ], ], ], ], ], ] | |||
| genre = ] | |||
| license = ] | |||
| website = <br /> | |||
}} | |||
] Physx card]] | |||
'''PhysX''' is an ]<ref name=":0">{{Cite news|url=https://github.com/NVIDIAGameWorks/PhysX|title=NVIDIA PhysX SDK 4.1|work=Engadget|access-date=2022-04-05|language=en-US}}</ref> ] ] ] ] developed by ] as part of the ] ]. | |||
Initially, video games supporting PhysX were meant to be ] by ] (]s designed by ]). However, after Ageia's acquisition by Nvidia, dedicated PhysX cards have been discontinued in favor of the ] being run on ]-enabled ] ]s. In both cases, ] allowed for the offloading of physics calculations from the ], allowing it to perform other tasks instead. | |||
Middleware physics engines allow ] to avoid writing their own code to handle the complex ] interactions possible in modern games. ] has licensed the PhysX SDK for their ] ].<ref name="ps3-physx-license">{{cite press release|publisher=Sony Computer Entertainment, Inc.|accessdate=2006-08-23|date=]|title=Sony Computer Entertainment Enters Into Strategic Licensing Agreement With AGEIA|url=http://www.gamesindustry.biz/content_page.php?aid=10281}}</ref> | |||
PhysX and other middleware physics engines are used in many video games today because they free ] from having to write their own code that implements ] (Newtonian physics) to do, for example, ].<ref name="sdk3">{{cite web|url=http://developer.nvidia.com/physx-sdk-V30|title=NVIDIA announces the release of PhysX SDK V3|publisher=]|archive-url=https://web.archive.org/web/20110524145446/http://developer.nvidia.com/physx-sdk-v30|archive-date=May 24, 2011|url-status=dead|access-date=June 3, 2011}}</ref> | |||
==PPU== | |||
A physics processing unit, or ''']''', is a processor specially designed to alleviate calculations from a computer's ], specifically calculations involving physics. A similar concept evolved over the last few decades, with the ], or ''GPU'', which accelerates the rendering of 2D and 3D graphics. | |||
==History== | |||
==Stats and specifications== | |||
What is known today as PhysX originated as a physics simulation engine called NovodeX. The engine was developed by ] company NovodeX AG, an ] spin-off.<ref>{{Cite web|url=https://www.ethz.ch/en/industry-and-society/entrepreneurship/spin-offs/exits/novodex.html|title=NovodeX AG|website=ETH Zürich|archive-url=https://web.archive.org/web/20180108063920/https://www.ethz.ch/en/industry-and-society/entrepreneurship/spin-offs/exits/novodex.html|archive-date=January 8, 2018|access-date=December 4, 2018}}</ref> In 2004, ] acquired NovodeX AG and began developing a hardware technology that could accelerate physics calculations, aiding the CPU. Ageia called the technology PhysX, the SDK was renamed from NovodeX to PhysX, and the accelerator cards were dubbed PPUs (Physics Processing Units).<ref>{{cite web|url=http://interviews.teamxbox.com/xbox/1117/AGEIA-Technologies-Interview/p1 |title=AGEIA Technologies Interview |author=César A. Berardini |date=April 12, 2005 |access-date=June 8, 2011 |url-status=dead |archive-url=https://web.archive.org/web/20110921011441/http://interviews.teamxbox.com/xbox/1117/AGEIA-Technologies-Interview/p1 |archive-date=September 21, 2011 }}</ref> | |||
* 125 million ] | |||
* 182 ]² ] size | |||
* Memory: 128 ] ] ] on 128-bit interface | |||
* ]: ] | |||
* ] collision tests: 530 million per second (maximum capability) | |||
* ] collision tests: 530,000 per second (maximum capability) | |||
* Peak Instruction Bandwidth: 20 billion per second | |||
* Power draw: 30 Watts on the current 0.13 micron processor technology | |||
* Price: from ]150-$250 (roughly ]135-£165) | |||
In its implementation, the first video game to use PhysX technology is ], released in Russia-only game stores in September 2005.<ref>{{Cite web |title=Physics Engine: PhysX |url=https://www.mobygames.com/group/7258/physics-engine-physx/ |access-date=2023-09-06 |website=MobyGames |language=en}}</ref> | |||
==Competition== | |||
The major competitor to the PhysX SDK is the ] SDK, which is used in more than 150 games, including major titles like ] and ].<ref></ref> | |||
In 2008, Ageia was itself acquired by graphics technology manufacturer Nvidia.<ref>{{cite press release|title=NVIDIA completes Acquisition of AGEIA Technologies|date=February 13, 2008|publisher=NVIDIA Corporation|url=http://www.nvidia.com/object/io_1202895129984.html|access-date=March 18, 2009}}</ref> Nvidia started enabling PhysX ] on its line of ] ]<ref>{{cite web |title=PhysX For CUDA, Linux Support A Given? |url=https://www.phoronix.com/scan.php?page=news_item&px=NjMzNA |work=Phoronix |publisher=Phoronix Media |access-date=February 14, 2008 |date=February 14, 2008}}</ref> and eventually dropped support for Ageia PPUs.<ref name="NoSupport" /> | |||
To compete with the PhysX PPU, ] will be able to take advantage of multi-GPU technology from ]/] (]) and ] (]) using existing cards to accelerate certain physics calculations.<ref></ref> | |||
PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficient ] and a unified code base for all supported platforms.<ref name="sdk3" /> | |||
Havok's solution divides the physics simulation into ''effect'' and ''gameplay'' physics, with effect physics being offloaded (if possible) to the GPU as ] instructions and gameplay physics being processed on the CPU as normal. The important distinction between the two are that ''effect'' physics do not affect gameplay (dust or small debris from an explosion, for example): the vast majority of physics operations are still performed in software. This approach differs significantly from the PhysX SDK, which moves all calculations to the PhysX card if it is present. | |||
At ], Nvidia made the ] for PhysX available on ], but required registration at developer.nvidia.com.<ref>{{cite web|url=https://developer.nvidia.com/physx-source-github|title=PhysX On GitHub|publisher=]|access-date=March 6, 2015}}</ref> The ] SDK was provided to developers for free for both commercial and non-commercial use on ], ], ], ] and ] platforms.<ref>{{cite web|url=https://developer.nvidia.com/physx-sdk|title=PhysX SDK as of January 7, 2017|publisher=]|archive-url=https://web.archive.org/web/20170107003159/https://developer.nvidia.com/physx-sdk|access-date=September 3, 2017|archive-date=January 7, 2017}}</ref> | |||
]'s ] supports a new GPU-based Newtonian physics acceleration technology named ''Quantum Effects Technology'' - which will compete directly with the PhysX PPU hardware. NVIDIA provides a SDK Toolkit for what they call ]™ (Compute Unified Device Architecture) technology that offers both a low and high-level API to the GPU. Few technical details are available about the physics side of it, and it is not yet clear whether this is part of Havok FX SDK, and/or AGEIA PhysX SDK, or a completely separate engine.<ref></ref> | |||
On December 3, 2018, PhysX was made open source under a ], but this change applied only to computer and mobile platforms.<ref name=":1">{{Cite web|url=https://developer.nvidia.com/physx-sdk|title=PhysX SDK|date=November 28, 2018|website=NVIDIA Developer|language=en|archive-url=https://web.archive.org/web/20181205103131/https://developer.nvidia.com/physx-sdk|archive-date=December 5, 2018|access-date=December 5, 2018}}</ref> | |||
]/] offers a similar SDK for their ATI-based GPUs and that SDK and technology is called ]™ (Close to Metal™) which provides a thin hardware interface. ] has also announced the AMD Stream Processor product line (combining a ] and a ] technology on one chip). | |||
On November 8, 2022, the open source release was updated to PhysX 5, under the same ].<ref>{{cite web|url=https://developer.nvidia.com/blog/open-source-simulation-expands-with-nvidia-physx-5-release/|title=Open Source Simulation Expands with NVIDIA PhysX 5 Release|date=November 8, 2022 |publisher=]|archive-url=https://web.archive.org/web/20230528035837/https://developer.nvidia.com/blog/open-source-simulation-expands-with-nvidia-physx-5-release/|access-date=June 15, 2023|archive-date=May 28, 2023}}</ref> | |||
==Board Partners== | |||
*] | |||
*] | |||
*] (Asia only) | |||
==Features== | |||
==Supported titles== | |||
The PhysX engine and SDK are available for Microsoft Windows, macOS, Linux,<ref name=":1" /> ],<ref name="ps3-physx-license">{{cite press release|title=Sony Computer Entertainment Enters Into Strategic Licensing Agreement With AGEIA|date=July 21, 2005|publisher=Sony Computer Entertainment, Inc.|url=http://www.scei.co.jp/corporate/release/pdf/050721be.pdf|access-date=August 23, 2006|url-status=dead|archive-url=https://web.archive.org/web/20060311061054/http://www.scei.co.jp/corporate/release/pdf/050721be.pdf|archive-date=March 11, 2006}}</ref><ref>{{cite web|url=http://kotaku.com/5172843/playstation-3-gets-free-physx-from-nvidia|title=Playstation 3 gets free PhysX from Nvidia|date=March 18, 2009 |publisher=Kotaku}}</ref> ],<ref>{{cite web|url=http://www.ign.com/articles/2013/03/07/nvidia-announces-physx-support-for-playstation-4|title=Nvidia Announces PhysX Support for PlayStation 4|last=Lowe|first=Scott|date=March 7, 2013}}</ref> ],<ref name="PhysX website">{{cite web|url=http://www.nvidia.com/object/nvidia_physx.html|title=PhysX – Overview – GeForce|publisher=Nvidia.com|access-date=November 30, 2011|archive-date=April 29, 2009|archive-url=https://web.archive.org/web/20090429032417/http://www.nvidia.com/object/nvidia_physx.html|url-status=dead}}</ref> ],<ref name="NVIDIA Announces PhysX Support for Microsoft Xbox One Game Console">{{cite web|url=http://nvidianews.nvidia.com/News/nvidia-announces-physx-support-for-microsoft-xbox-one-game-console-997.aspx|title=NVIDIA Announces PhysX Support for Microsoft Xbox One Game Console|publisher=Nvidia.com|archive-url=https://web.archive.org/web/20141109040434/http://nvidianews.nvidia.com/News/nvidia-announces-physx-support-for-microsoft-xbox-one-game-console-997.aspx|archive-date=November 9, 2014|url-status=dead|access-date=November 9, 2014}}</ref> ],<ref name="Gamasutra News">{{cite web|url=http://www.gamasutra.com/php-bin/news_index.php?story=22812|title=News – Pre-GDC: Nvidia PhysX Approved For Wii Developers|date=March 19, 2009|publisher=Gamasutra|access-date=November 30, 2011}}</ref> iOS and Android.<ref name=":1" /> | |||
Only games that use the PhysX SDK can benefit from the presence of a | |||
PhysX card. ], a ]-like game building | |||
PhysX is a multi-threaded physics simulation SDK. It supports ], ] (like ], including tearing and pressurized cloth), ] and character controllers, ], ] and ]. | |||
language uses the PhysX SDK.<ref | |||
name="darkbasic-pro-physx">{{cite press release|publisher=The Game | |||
==Hardware acceleration== | |||
Creators|date=]|accessdate=2006-09-23|url=http://www.gamedev.net/community/forums/topic.asp?topic_id=382741|title=The | |||
].|(PC) The top screenshot shows how debris is simulated in '']'' when PhysX is turned to the highest level in the game settings. The bottom screenshot shows a similar scene with PhysX turned to the lowest level.]] | |||
Game Creators Integrate AGEIA PhysX Technology into DarkBASIC | |||
Professional}}</ref> | |||
===PPU=== | |||
The Unreal 3 Engine also uses Ageia | |||
A ] (PPU) is a processor specially designed to alleviate the calculation burden on the CPU, specifically calculations involving physics. PhysX PPUs were offered to consumers in the forms of ] or ] cards by ],<ref>{{cite web|url=https://www.overclock3d.net/reviews/cpu_mainboard/asus_128mb_physx_card_reviewpreview/1|title=Asus 128mb PhysX Card Review/Preview|date=July 12, 2006}}</ref> ],<ref>{{cite web|url=http://www.bfgtech.com/news_8.31.05.html|title=AGEIA And BFG Technologies Enter Into Retail Distribution Agreement|archive-url=https://web.archive.org/web/20060426124859/http://www.bfgtech.com/news_8.31.05.html|archive-date=April 26, 2006}}</ref><ref>{{cite web|url=https://www.techpowerup.com/review/bfg-ageia-physx-card/|title=BFG Ageia PhysX Card Review|date=2007-10-01}}</ref> ]<ref>{{cite web|url=https://www.cnet.com/products/ageia-physx-graphics-card-ageia-physx-128-mb/|title=AGEIA PhysX - graphics card - AGEIA PhysX - 128 MB Specs|publisher=Cnet}}</ref> and ].<ref>{{cite web|url=https://www.fudzilla.com/news/1893-elsa-teams-up-with-ageia|title=ELSA teams up with Ageia}}</ref> | |||
PhysX<ref>http://www.unrealtechnology.com/html/technology/ue30.shtml</ref>, | |||
resulting in a performance boost in all of the Unreal 3 Engine based | |||
Beginning with version 2.8.3 of the PhysX SDK, support for PPU cards was dropped, and PPU cards are no longer manufactured.<ref name="NoSupport">{{cite web |url=http://physxinfo.com/news/4697/how-to-restore-ppu-support-with-latest-physx-drivers/ |title=How to restore PPU support with latest PhysX Drivers | PhysXInfo.com – PhysX News |publisher=PhysXInfo.com |date=January 17, 2011 |access-date=November 30, 2011 |archive-date=November 24, 2011 |archive-url=https://web.archive.org/web/20111124044806/http://physxinfo.com/news/4697/how-to-restore-ppu-support-with-latest-physx-drivers/ |url-status=dead }}</ref> The last incarnation of PhysX PPU standalone card designed by Ageia had roughly the same PhysX performance as a dedicated ].<ref>{{cite web|url=http://www.pcgameshardware.com/&menu=browser&image_id=967623&article_id=674175&page=1&show=original|title=English articles from PC Games Hardware|website=www.pcgameshardware.com|date=January 26, 2009}}</ref> | |||
games as well as offering physics that are not possible on a normal CPU | |||
core in real time. | |||
===GPU=== | |||
The popular ] ] rendering | |||
After Nvidia's acquisition of Ageia, PhysX development turned away from PPU expansion cards and focused instead on the ] capabilities of modern GPUs. | |||
engine can use Ageia PhysX through the NxOgre | |||
wrapper<ref>, | |||
Modern GPUs are very efficient at manipulating and displaying computer graphics, and their ] structure makes them more effective than general-purpose CPUs for accelerating physical simulations using PhysX. | |||
Ogre Wiki. Retrieved ]-]</ref>. | |||
NetDevil inc.'s WarMonger FPS game also support the Physx card. | |||
Any ]-ready GeForce graphics card (8-series or later GPU with a minimum of 32 cores and a minimum of 256 MB dedicated graphics memory<ref name="PhysX FAQ">{{cite web|url=http://www.nvidia.com/object/physx_faq.html|title=PhysX FAQ|publisher=Nvidia.com|access-date=December 10, 2015}}</ref>) can take advantage of PhysX without the need to install a dedicated PhysX card. | |||
<ref>, The | |||
Inquirer.</ref> | |||
==APEX== | |||
The new ] is a game made for | |||
Nvidia APEX technology is a multi-platform scalable dynamics framework build around the PhysX SDK. It was first introduced in '']'' in August 2010.<ref name = APEX>{{cite web | url = http://benchmarkreviews.com/index.php?option=com_content&task=view&id=582&Itemid=64 | title = Mafia-II Video Game Performance Review | access-date = August 23, 2010 | author = Olin Coles | publisher = BenchmarkReviews.com}}</ref> Nvidia's APEX comprises the following modules: APEX Destruction, APEX Clothing, APEX Particles, APEX Turbulence, APEX ForceField and formerly APEX Vegetation which was suspended in 2011.<ref>{{cite web |url=http://developer.nvidia.com/apex |title=APEX |access-date=June 8, 2011}}</ref><ref>{{cite web |title= Category:APEX - PhysX Wiki |url=http://physxinfo.com/Category:APEX |publisher=PhysXInfo.com |access-date=21 July 2013}}</ref> | |||
promoting the Ageia PhysX hardware. | |||
From version 1.4.1 APEX SDK is deprecated.<ref>{{Cite web|url=http://gameworksdocs.nvidia.com/APEX/1.4/release_notes/ReleaseNotes.html|title=APEX 1.4.1 - Release Notes (APEX has been deprecated)|website=gameworksdocs.nvidia.com|access-date=December 5, 2018}}</ref> | |||
==Nvidia FleX== | |||
FleX is a particle based simulation technique for real-time ]. Traditionally, visual effects are made using a combination of elements created using specialized solvers for ], fluids, clothing, etc. Because FleX uses a unified particle representation for all object types, it enables new effects where different simulated substances can interact with each other seamlessly. Such unified physics solvers are a staple of the ] world, where tools such as ]'s nCloth, and ]'s Lagoa are widely used. The goal for FleX is to use the power of GPUs to bring the capabilities of these offline applications to real-time computer graphics.<ref>{{Cite web|url=https://developer.nvidia.com/flex|title=NVIDIA FleX|date=2015-08-13|website=NVIDIA Developer|language=en|access-date=2019-04-17}}</ref> | |||
== Criticism from Real World Technologies == | |||
On July 5, 2010, Real World Technologies published an analysis<ref>{{cite web|url=http://www.realworldtech.com/page.cfm?ArticleID=RWT070510142143|title=PhysX87: Software Deficiency|website=www.realworldtech.com}}</ref> of the PhysX architecture. According to this analysis, most of the code used in PhysX applications at the time was based on ] ] without any ] ]. This could cause significant performance drops when running PhysX code on the CPU. The article suggested that a PhysX rewrite using ] instructions may substantially lessen the performance discrepancy between CPU PhysX and GPU PhysX. | |||
In response to the Real World Technologies analysis, Mike Skolones, ] of PhysX, said<ref>{{cite web|last=Stokes |first=Jon |url=https://arstechnica.com/gaming/news/2010/07/did-nvidia-cripple-its-cpu-gaming-physics-library-to-spite-intel.ars |title=Did NVIDIA cripple its CPU gaming physics library to spite Intel? |publisher=Arstechnica.com |date=July 8, 2010 |access-date=November 30, 2011}}</ref> that SSE support had been left behind because most games are developed for ] first and then ported to the PC. As a result, modern computers run these games faster and better than the consoles even with little or no optimization. | |||
Senior ] of Nvidia, Bryan Del Rizzo, explained that multithreading had already been available with CPU PhysX 2.x and that it had been up to the developer to make use of it. He also stated that automatic multithreading and SSE would be introduced with version 3 of the PhysX SDK.<ref>{{cite web|url=http://www.thinq.co.uk/2010/7/8/nvidia-were-not-hobbling-cpu-physx/ |title=Nvidia: We're not hobbling CPU PhysX | thinq_ | Page 1 |publisher=Thinq.co.uk |access-date=November 30, 2011}}</ref> | |||
PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficient multithreading and a unified code base for all supported platforms.<ref name="sdk3" /> | |||
==Usage== | |||
=== PhysX in video games === | |||
PhysX technology is used by ]s such as ] (version 3 onwards), ], ], ] (version 6 onwards), Instinct Engine,<ref>{{cite web |url=http://www.instinctengine.com/index.php/products/instinct-studio-sdk |title=Instinct Software - Instinct Engine SDK |publisher=Instinctengine.com |access-date=2013-10-04 |archive-url=https://web.archive.org/web/20150213215822/http://instinctengine.com/index.php/products/instinct-studio-sdk |archive-date=February 13, 2015 |url-status=dead |df=mdy-all }}</ref> ], ], ], ], and ].<ref name="PhysX FAQ"/> | |||
As one of the handful of major physics engines, it is used in many games, such as '']'', '']'', '']'', '']'', '']'', ''], ''and '']''. Most of these games use the CPU to process the physics simulations. | |||
Video games with optional support for hardware-accelerated PhysX often include additional effects such as tearable cloth, dynamic smoke or simulated particle debris.<ref>{{cite web |url=http://techreport.com/articles.x/16392 |title=A look at PhysX in Mirror's Edge |author=Matt Butrovich |publisher=] |date=February 12, 2009 |access-date=April 6, 2011}}</ref><ref>{{cite web |url=http://news.cnet.com/8301-17938_105-10355716-1.html |title=Nvidia's PhysX makes PC Batman: Arkham Asylum worth the wait |author=Rich Brown |publisher=] |date=September 21, 2009 |access-date=April 6, 2011}}</ref><ref>{{cite web |url=http://www.extremetech.com/article2/0,2845,2368499,00.asp |title=Mafia II: Is Applied PhysX Worth It? |author=Matthew Murray |publisher=] |date=September 2, 2010 |access-date=April 6, 2011 |archive-date=December 30, 2010 |archive-url=https://web.archive.org/web/20101230135015/http://www.extremetech.com/article2/0,2845,2368499,00.asp |url-status=dead }}</ref> | |||
=== PhysX in other software === | |||
Other software with PhysX support includes: | |||
*] (AW), a 3D virtual reality platform with its client running on Windows{{Citation needed|date=December 2018}} | |||
*], a 3D game development engine developed by ]<ref>{{Cite web|url=https://docs.aws.amazon.com/lumberyard/latest/userguide/gems-system-gem-physx.html|title=PhysX - Lumberyard User Guide|access-date=April 15, 2020|archive-date=September 22, 2020|archive-url=https://web.archive.org/web/20200922021924/https://docs.aws.amazon.com/lumberyard/latest/userguide/gems-system-gem-physx.html|url-status=dead}}</ref> | |||
*], ] and ], ] suites<ref>{{cite web |url=http://www.cgchannel.com/2011/03/videos-autodesk-reveals-new-features-in-maya-2012/ |title=Videos: Autodesk reveals new features in Maya 2012 |author=Jim Thacker |publisher=cgchannel.com |date=March 1, 2011 |access-date=April 6, 2011}}</ref><ref>{{cite web |url=http://www.beyond3d.com/content/news/765 |title=3ds Max 2012 and Maya 2012 adds PhysX support |publisher=Beyond3D.com |date=March 1, 2011 |access-date=April 6, 2011 |archive-url=https://web.archive.org/web/20170708155351/https://www.beyond3d.com/content/news/765 |archive-date=July 8, 2017 |url-status=dead }}</ref><ref>{{cite web |url=http://www.vizworld.com/2010/05/nvidia-physx-cuda-softimage-2011/ |title=NVidia PhysX and CUDA in Softimage 2011 |author=Randall Hand |publisher=Vizworld.com |date=May 5, 2010 |access-date=April 6, 2011}}</ref> | |||
*] (with DarkPHYSICS upgrade), a ] targeted at game development<ref name="darkbasic-pro-physx">{{cite press release|publisher=The Game Creators |access-date=September 23, 2006 |date=March 22, 2006 |title=The Game Creators Integrate AGEIA PhysX Technology into DarkBASIC Professional |url=http://www.gamedev.net/community/forums/topic.asp?topic_id=382741 |url-status=dead |archive-url=https://web.archive.org/web/20060427020754/http://www.gamedev.net/community/forums/topic.asp?topic_id=382741 |archive-date=April 27, 2006 }}</ref> | |||
*], an integrated development environment for creating interactive 3D graphics<ref>{{cite web|url=http://www.dxstudio.com/features.aspx|title=Overview|work=DX Studio|publisher=Worldweaver|access-date=November 2, 2008|archive-url=https://web.archive.org/web/20090705092517/http://www.dxstudio.com/features.aspx|archive-date=July 5, 2009|url-status=dead}}</ref> | |||
*], a game engine developed by the former ]. | |||
*]'s ] and ] ]<ref>{{cite news|url= http://findarticles.com/p/articles/mi_m0EIN/is_2006_Sept_27/ai_n16836909 |title=AGEIA Joins Futuremark's 3DMark Benchmark Development Program|date=September 27, 2006|agency=]|work=]|publisher=CBS Interactive|access-date=November 3, 2008}}</ref> | |||
*], an environment for robot control and simulation<ref>{{cite web|url=http://msdn2.microsoft.com/en-us/library/bb483076.aspx|title=Simulation Overview| work=Microsoft Robotics Developer Center|date=March 2012 |publisher=Microsoft}}</ref> | |||
*]'s SuperSonic Sled and Raging Rapids Ride, technology demos | |||
*] (via the NxOgre wrapper), an ] ]{{Citation needed|date=December 2018}} | |||
*The ], a physical simulation ] abstraction system (it provides ] and ] support for PhysX)<ref>{{cite web|url=http://www.adrianboeing.com/pal/engines.html| title=Engines|publisher=Physics Abstraction Layer|first=Adrian|last=Boeing|access-date=November 18, 2007}}</ref> | |||
*Rayfire, a plug-in for ] that allows fracturing and other physics simulations{{Citation needed|date=December 2018}} | |||
*The Physics Engine Evaluation Lab, a tool designed to evaluate, compare and benchmark physics engines.<ref>{{Citation|last=Pierre-Terdiman|title=GitHub - Pierre-Terdiman/PEEL: Physics Engine Evaluation Lab.|date=2019-03-22|url=https://github.com/Pierre-Terdiman/PEEL|access-date=2019-03-22}}</ref> | |||
*] game development software by ]. Unreal Engine 4.26 and onwards has officially deprecated PhysX.<ref>{{Cite web|url=https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1814986-unreal-engine-4-26-preview|title = Unreal Engine 4.26 Preview|date = September 24, 2020}}</ref> | |||
*] by Unity ApS. Unity's Data-Oriented Technology Stack does not use PhysX.<ref>{{Cite web|url=https://docs.unity3d.com/Manual/PhysicsSection.html|title=Unity - Manual: Physics}}</ref> | |||
==See also== | ==See also== | ||
* ] | |||
* ] | |||
* ] | * ] | ||
* ] | * ] | ||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
==References== | ==References== | ||
{{ |
{{Reflist|2}} | ||
==External links== | ==External links== | ||
* | * | ||
* | * | ||
* | |||
* | |||
* - IGN News Story | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* official website | |||
<br/> | |||
{{Nvidia}} | |||
] | |||
{{Physics engines}} | |||
] | |||
{{DEFAULTSORT:Physx}} | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] |
Latest revision as of 19:53, 9 October 2024
Realtime physics engine software
Original author(s) | NovodeX AG (ETH Zurich) |
---|---|
Developer(s) | Nvidia Corporation (2008-present) Ageia (2004-2008) NovodeX AG (2001-2004) |
Stable release | Blast 5.0.0; PhysX SDK 5.1.3; Flow 2.0.2 / February 23, 2023 (2023-02-23) |
Repository | https://github.com/NVIDIA-Omniverse/PhysX (5.x) https://github.com/NVIDIAGameWorks/PhysX (4.x) |
Written in | C++ |
Operating system | Microsoft Windows, macOS, Linux, PlayStation 2, PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii, iOS, Android |
Type | Physics simulation |
License | BSD-3 |
Website | Nvidia PhysX developer site Documentation |
PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting PhysX were meant to be accelerated by PhysX PPU (expansion cards designed by Ageia). However, after Ageia's acquisition by Nvidia, dedicated PhysX cards have been discontinued in favor of the API being run on CUDA-enabled GeForce GPUs. In both cases, hardware acceleration allowed for the offloading of physics calculations from the CPU, allowing it to perform other tasks instead.
PhysX and other middleware physics engines are used in many video games today because they free game developers from having to write their own code that implements classical mechanics (Newtonian physics) to do, for example, soft body dynamics.
History
What is known today as PhysX originated as a physics simulation engine called NovodeX. The engine was developed by Swiss company NovodeX AG, an ETH Zurich spin-off. In 2004, Ageia acquired NovodeX AG and began developing a hardware technology that could accelerate physics calculations, aiding the CPU. Ageia called the technology PhysX, the SDK was renamed from NovodeX to PhysX, and the accelerator cards were dubbed PPUs (Physics Processing Units).
In its implementation, the first video game to use PhysX technology is The Stalin Subway, released in Russia-only game stores in September 2005.
In 2008, Ageia was itself acquired by graphics technology manufacturer Nvidia. Nvidia started enabling PhysX hardware acceleration on its line of GeForce graphics cards and eventually dropped support for Ageia PPUs.
PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficient multithreading and a unified code base for all supported platforms.
At GDC 2015, Nvidia made the source code for PhysX available on GitHub, but required registration at developer.nvidia.com. The proprietary SDK was provided to developers for free for both commercial and non-commercial use on Windows, Linux, macOS, iOS and Android platforms.
On December 3, 2018, PhysX was made open source under a 3-clause BSD license, but this change applied only to computer and mobile platforms.
On November 8, 2022, the open source release was updated to PhysX 5, under the same 3-clause BSD license.
Features
The PhysX engine and SDK are available for Microsoft Windows, macOS, Linux, PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii, iOS and Android.
PhysX is a multi-threaded physics simulation SDK. It supports rigid body dynamics, soft body dynamics (like cloth simulation, including tearing and pressurized cloth), ragdolls and character controllers, vehicle dynamics, particles and volumetric fluid simulation.
Hardware acceleration
PPU
A physics processing unit (PPU) is a processor specially designed to alleviate the calculation burden on the CPU, specifically calculations involving physics. PhysX PPUs were offered to consumers in the forms of PCI or PCIe cards by ASUS, BFG Technologies, Dell and ELSA Technology.
Beginning with version 2.8.3 of the PhysX SDK, support for PPU cards was dropped, and PPU cards are no longer manufactured. The last incarnation of PhysX PPU standalone card designed by Ageia had roughly the same PhysX performance as a dedicated 9800GTX.
GPU
After Nvidia's acquisition of Ageia, PhysX development turned away from PPU expansion cards and focused instead on the GPGPU capabilities of modern GPUs.
Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for accelerating physical simulations using PhysX.
Any CUDA-ready GeForce graphics card (8-series or later GPU with a minimum of 32 cores and a minimum of 256 MB dedicated graphics memory) can take advantage of PhysX without the need to install a dedicated PhysX card.
APEX
Nvidia APEX technology is a multi-platform scalable dynamics framework build around the PhysX SDK. It was first introduced in Mafia II in August 2010. Nvidia's APEX comprises the following modules: APEX Destruction, APEX Clothing, APEX Particles, APEX Turbulence, APEX ForceField and formerly APEX Vegetation which was suspended in 2011.
From version 1.4.1 APEX SDK is deprecated.
Nvidia FleX
FleX is a particle based simulation technique for real-time visual effects. Traditionally, visual effects are made using a combination of elements created using specialized solvers for rigid bodies, fluids, clothing, etc. Because FleX uses a unified particle representation for all object types, it enables new effects where different simulated substances can interact with each other seamlessly. Such unified physics solvers are a staple of the offline computer graphics world, where tools such as Autodesk Maya's nCloth, and Softimage's Lagoa are widely used. The goal for FleX is to use the power of GPUs to bring the capabilities of these offline applications to real-time computer graphics.
Criticism from Real World Technologies
On July 5, 2010, Real World Technologies published an analysis of the PhysX architecture. According to this analysis, most of the code used in PhysX applications at the time was based on x87 instructions without any multithreading optimization. This could cause significant performance drops when running PhysX code on the CPU. The article suggested that a PhysX rewrite using SSE instructions may substantially lessen the performance discrepancy between CPU PhysX and GPU PhysX.
In response to the Real World Technologies analysis, Mike Skolones, product manager of PhysX, said that SSE support had been left behind because most games are developed for consoles first and then ported to the PC. As a result, modern computers run these games faster and better than the consoles even with little or no optimization. Senior PR manager of Nvidia, Bryan Del Rizzo, explained that multithreading had already been available with CPU PhysX 2.x and that it had been up to the developer to make use of it. He also stated that automatic multithreading and SSE would be introduced with version 3 of the PhysX SDK.
PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficient multithreading and a unified code base for all supported platforms.
Usage
PhysX in video games
PhysX technology is used by game engines such as Unreal Engine (version 3 onwards), Unity, Gamebryo, Vision (version 6 onwards), Instinct Engine, Panda3D, Diesel, Torque, HeroEngine, and BigWorld.
As one of the handful of major physics engines, it is used in many games, such as The Witcher 3: Wild Hunt, Warframe, Killing Floor 2, Fallout 4, Batman: Arkham Knight, Planetside 2, and Borderlands 2. Most of these games use the CPU to process the physics simulations.
Video games with optional support for hardware-accelerated PhysX often include additional effects such as tearable cloth, dynamic smoke or simulated particle debris.
PhysX in other software
Other software with PhysX support includes:
- Active Worlds (AW), a 3D virtual reality platform with its client running on Windows
- Amazon Lumberyard, a 3D game development engine developed by Amazon
- Autodesk 3ds Max, Autodesk Maya and Autodesk Softimage, computer animation suites
- DarkBASIC Professional (with DarkPHYSICS upgrade), a programming language targeted at game development
- DX Studio, an integrated development environment for creating interactive 3D graphics
- ForgeLight, a game engine developed by the former Sony Online Entertainment.
- Futuremark's 3DMark06 and Vantage benchmarking tools
- Microsoft Robotics Studio, an environment for robot control and simulation
- Nvidia's SuperSonic Sled and Raging Rapids Ride, technology demos
- OGRE (via the NxOgre wrapper), an open source rendering engine
- The Physics Abstraction Layer, a physical simulation API abstraction system (it provides COLLADA and Scythe Physics Editor support for PhysX)
- Rayfire, a plug-in for Autodesk 3ds Max that allows fracturing and other physics simulations
- The Physics Engine Evaluation Lab, a tool designed to evaluate, compare and benchmark physics engines.
- Unreal Engine game development software by Epic Games. Unreal Engine 4.26 and onwards has officially deprecated PhysX.
- Unity by Unity ApS. Unity's Data-Oriented Technology Stack does not use PhysX.
See also
- DirectX
- Bullet (software)
- Havok (software)
- Open Dynamics Engine
- Newton Game Dynamics
- OpenGL
- Vortex (software)
- AGX Multiphysics
References
- "NVIDIA PhysX SDK 4.1". Engadget. Retrieved April 5, 2022.
- ^ "NVIDIA announces the release of PhysX SDK V3". Nvidia. Archived from the original on May 24, 2011. Retrieved June 3, 2011.
- "NovodeX AG". ETH Zürich. Archived from the original on January 8, 2018. Retrieved December 4, 2018.
- César A. Berardini (April 12, 2005). "AGEIA Technologies Interview". Archived from the original on September 21, 2011. Retrieved June 8, 2011.
- "Physics Engine: PhysX". MobyGames. Retrieved September 6, 2023.
- "NVIDIA completes Acquisition of AGEIA Technologies" (Press release). NVIDIA Corporation. February 13, 2008. Retrieved March 18, 2009.
- "PhysX For CUDA, Linux Support A Given?". Phoronix. Phoronix Media. February 14, 2008. Retrieved February 14, 2008.
- ^ "How to restore PPU support with latest PhysX Drivers | PhysXInfo.com – PhysX News". PhysXInfo.com. January 17, 2011. Archived from the original on November 24, 2011. Retrieved November 30, 2011.
- "PhysX On GitHub". Nvidia. Retrieved March 6, 2015.
- "PhysX SDK as of January 7, 2017". Nvidia. Archived from the original on January 7, 2017. Retrieved September 3, 2017.
- ^ "PhysX SDK". NVIDIA Developer. November 28, 2018. Archived from the original on December 5, 2018. Retrieved December 5, 2018.
- "Open Source Simulation Expands with NVIDIA PhysX 5 Release". Nvidia. November 8, 2022. Archived from the original on May 28, 2023. Retrieved June 15, 2023.
- "Sony Computer Entertainment Enters Into Strategic Licensing Agreement With AGEIA" (PDF) (Press release). Sony Computer Entertainment, Inc. July 21, 2005. Archived from the original (PDF) on March 11, 2006. Retrieved August 23, 2006.
- "Playstation 3 gets free PhysX from Nvidia". Kotaku. March 18, 2009.
- Lowe, Scott (March 7, 2013). "Nvidia Announces PhysX Support for PlayStation 4".
- "PhysX – Overview – GeForce". Nvidia.com. Archived from the original on April 29, 2009. Retrieved November 30, 2011.
- "NVIDIA Announces PhysX Support for Microsoft Xbox One Game Console". Nvidia.com. Archived from the original on November 9, 2014. Retrieved November 9, 2014.
- "News – Pre-GDC: Nvidia PhysX Approved For Wii Developers". Gamasutra. March 19, 2009. Retrieved November 30, 2011.
- "Asus 128mb PhysX Card Review/Preview". July 12, 2006.
- "AGEIA And BFG Technologies Enter Into Retail Distribution Agreement". Archived from the original on April 26, 2006.
- "BFG Ageia PhysX Card Review". October 1, 2007.
- "AGEIA PhysX - graphics card - AGEIA PhysX - 128 MB Specs". Cnet.
- "ELSA teams up with Ageia".
- "English articles from PC Games Hardware". www.pcgameshardware.com. January 26, 2009.
- ^ "PhysX FAQ". Nvidia.com. Retrieved December 10, 2015.
- Olin Coles. "Mafia-II Video Game Performance Review". BenchmarkReviews.com. Retrieved August 23, 2010.
- "APEX". Retrieved June 8, 2011.
- "Category:APEX - PhysX Wiki". PhysXInfo.com. Retrieved July 21, 2013.
- "APEX 1.4.1 - Release Notes (APEX has been deprecated)". gameworksdocs.nvidia.com. Retrieved December 5, 2018.
- "NVIDIA FleX". NVIDIA Developer. August 13, 2015. Retrieved April 17, 2019.
- "PhysX87: Software Deficiency". www.realworldtech.com.
- Stokes, Jon (July 8, 2010). "Did NVIDIA cripple its CPU gaming physics library to spite Intel?". Arstechnica.com. Retrieved November 30, 2011.
- "Nvidia: We're not hobbling CPU PhysX | thinq_ | Page 1". Thinq.co.uk. Retrieved November 30, 2011.
- "Instinct Software - Instinct Engine SDK". Instinctengine.com. Archived from the original on February 13, 2015. Retrieved October 4, 2013.
- Matt Butrovich (February 12, 2009). "A look at PhysX in Mirror's Edge". The Tech Report. Retrieved April 6, 2011.
- Rich Brown (September 21, 2009). "Nvidia's PhysX makes PC Batman: Arkham Asylum worth the wait". cNET.com. Retrieved April 6, 2011.
- Matthew Murray (September 2, 2010). "Mafia II: Is Applied PhysX Worth It?". ExtremeTech. Archived from the original on December 30, 2010. Retrieved April 6, 2011.
- "PhysX - Lumberyard User Guide". Archived from the original on September 22, 2020. Retrieved April 15, 2020.
- Jim Thacker (March 1, 2011). "Videos: Autodesk reveals new features in Maya 2012". cgchannel.com. Retrieved April 6, 2011.
- "3ds Max 2012 and Maya 2012 adds PhysX support". Beyond3D.com. March 1, 2011. Archived from the original on July 8, 2017. Retrieved April 6, 2011.
- Randall Hand (May 5, 2010). "NVidia PhysX and CUDA in Softimage 2011". Vizworld.com. Retrieved April 6, 2011.
- "The Game Creators Integrate AGEIA PhysX Technology into DarkBASIC Professional" (Press release). The Game Creators. March 22, 2006. Archived from the original on April 27, 2006. Retrieved September 23, 2006.
- "Overview". DX Studio. Worldweaver. Archived from the original on July 5, 2009. Retrieved November 2, 2008.
- "AGEIA Joins Futuremark's 3DMark Benchmark Development Program". FindArticles. CBS Interactive. BusinessWire. September 27, 2006. Retrieved November 3, 2008.
- "Simulation Overview". Microsoft Robotics Developer Center. Microsoft. March 2012.
- Boeing, Adrian. "Engines". Physics Abstraction Layer. Retrieved November 18, 2007.
- Pierre-Terdiman (March 22, 2019), GitHub - Pierre-Terdiman/PEEL: Physics Engine Evaluation Lab., retrieved March 22, 2019
- "Unreal Engine 4.26 Preview". September 24, 2020.
- "Unity - Manual: Physics".
External links
- Official Product Site
- Techgage: AGEIA PhysX.. First Impressions
- Techgage: NVIDIA's PhysX: Performance and Status Report
Nvidia | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
|
Physics engines (list) | |
---|---|
Free / open source | |
Proprietary | |
Related topics |
- Computer physics engines
- MacOS programming tools
- Nvidia software
- PlayStation 3 software
- PlayStation 4 software
- Programming tools for Windows
- Science software for Linux
- Science software for macOS
- Science software for Windows
- Software using the BSD license
- Video game development software for Linux
- Video game development
- Virtual reality
- Wii software
- Xbox 360 software