NVIDIA PhysX Blog Series
Hello readers! I am Adam Moravanszky, engineering manager of the NVIDIA PhysX SDK team. We decided to hijack this blog to take a break from the product introductions and do something a little bit different. Our team will write a series of posts on topics around PhysX, mostly aimed at programmers using or getting started with PhysX. The posts will also help anyone else out there get a better understanding about the problems we solve.
The NVIDIA PhysX Team at work
PhysX is a very common topic in the gaming press, but judging by the comments there is still a lot of confusion about what it is that we really do here. Most people have seen our amazing demos of GPU based special effects like Turbulence, FlameWorks or FLEX. These have received a lot of press about how they greatly enhance the look of games on geForce hardware.
The PhysX SDK is a complex core technology we’ve been working on for way over a decade. It is a very mature project that is part of the basic foundations of a vast number of games, including most everything made with Unity or the Unreal Engine 3 or 4. At the lowest level of PhysX is a layer of general services, such as task management, that are useful for all applications. PhysX also provides geometric functions used for representing solid objects and performing sweeps and line of sight checks that are useful for character movement and enemy behavior.
Of course we also offer all of the classical gameplay physics as well, such as your stacks of crates, ragdolls and vehicles. All of this stuff is mostly designed to be gameplay affecting and is often not particularly computationally intensive, and is therefore generally executed on the CPU. We do support pretty much every CPU platform you can play games on, including past and present consoles, Android, IOS, Windows, Mac and Linux!
When we get to scalable physics such as clothing, debris or destruction we do push the work on GPUs. The sky is the limit for the scope of these features that bring the kind of spectacles we’ve been used to seeing in movies to the world of gaming. In fact there are effects plug-ins for major 3D animation packages used in the motion picture industry that are also built with PhysX. The PhysX SDK is even used outside of games and movies, by companies working in fields as diverse as medicine, robotics, and training simulators for complex machinery such as mining equipment or cargo ships.
To support all the desires of a myriad development teams on all these platforms, we have a sizeable global team of experts, many of whom came to us from game development studios where they have worked on game physics. I would venture to guess that at present we have the largest concentration of specialist physics simulation programmers, working from twelve different sites stretched all around the planet, including the US, Europe, China and even New Zealand!
We will delve into subjects all around the world of PhysX in our upcoming blog posts, which will be marked with the PhysX logo.