What is physics?
The simple answer to that question would be that physics is when two or more objects collide and the correct response should be calculated.
AGEIAT does of course take this definition somewhat further, and introduces 4 key words:
Fidelity: More faithful and accurate simulation Scale: Massive increases in simulation capacity. Interaction: Dynamic reactions between objects throughout a level. Sophistication: Hollywood-class effects at interactive frame rates. In order to illustrate these concepts AGEIA uses a car which is turned on its side after a bomb explosion. Fidelity would be the ability to display a visually convincing representation of collisions, deformations and dynamics after the explosion.
After effects such as smoke and dust would require an enormous Scale with thousands of particles all interacting with each other.
An example of Interaction could be a destroyed fire hydrant spraying water on the bumper of the car. Taking it even further, broken glass could be ricochet off the ground and cut through the clothes of nearby characters.
The last item on the list, Sophistication, could be represented by models of physical objects which were no longer bound to boxes or spheres, but instead advanced geometric models. Models which could be deformed or even destroyed, and composed of flexible joints and advanced models for materials and friction.
Together these 4 keywords describe what AGEIA calls Advanced Gaming Physics.
Although it is possible to find hardware which can handle each one of these areas, it will be at the expense of the three others. Even with hardware which can handle all four areas there will not be sufficient complexity to do it quickly enough. This is where PhysX comes into play.
To provide a convincing Advanced Gaming Physics environment in a game requires hardware specifically built for the task. CPU's and GPU/VPU's have to give up the gavel. The prime advantage of a CPU is that it's extremely versatile. It can basically be used for anything. However, that is also its Achilles heel; there is nothing it really excels in doing. GPU's and VPU's are on the other hand extremely well suited for calculating pixels and shadows, but they are too specialized to be able to handle the types of calculations required by physics. For that, you need a piece of dedicated, purpose-built hardware: PhysX.
An example of the architectural advantages of using a PPU is the internal bandwidth of no less than 2 Tb/s! A graphics card cannot reach 350 Gb/s, not even if it has a 512 bit internal bus width - and CPU's are even worse.
This does not mean that the job can be done simply by plugging in a piece of specialized hardware. It requires know-how to design the complex algorithms and the software to handle them in less than 1/60 of a second. Therefore AGEIA thinks that CPU's and GPU/VPU's should stick to what they're good at, and let PhysX take care of physics.
But the PhysX cannot do it all on its own. To get the complete gaming experience all three corners in the AGEIA Gaming Power Triangle must be filled out:
In the AGEIAT Gaming Power Triangle the PPU is just as important as the CPU and the GPU/VPU. As mentioned above, AGEIA thinks that each Processing Unit should stick to what it's good at. The CPU should lead and distribute the tasks, as well as handle AI calculations. The GPU/VPU should render the actual images, and the PPU take of physics. Simple as that..
But what can you do using PhysX? AGEIA has simplified the list into seven areas which PhysX takes care of.
Rigid body dynamics : A rigid body is a non-deformable object. A good example is a billiard ball. When two billiard balls smash into each other kinetic energy is transferred, without any of the balls losing their shape. Rigid bodies are typically used in today's games for things like boxes. This results in cardboard boxes which do not crumble, even if you place a car on top of it.
Soft body dynamics : A soft body is a body which can be deformed, unlike a rigid body. To get back to the example of our billiard balls, imagine that one of the balls was replaced with a beach ball.
When a billiard ball hits a beach ball, far less of the kinetic energy is transferred to the beach ball as kinetic energy. Instead some of the energy is used to leave a solid (no pun intended) impression of the billiard ball on the surface of the beach ball. This could also be used for bullet holes on various metal surfaces. The implementation of this in games is limited, often many smaller rigid bodies are instead used to simulate is large, soft body.
Universal collision detection: Universal collision detection is one of the basic physics calculations which are implemented in all games. For instance collision detection is used to decide whether or not a player can get closer to a wall when he is standing next to it. A typical example of a bad implementation is when a player's weapon sticks out on the side of the wall when the player gets close to the other side
Finite element analysis: Finite element analysis is somewhat like soft bodies, but with the difference that it requires much more force to deform them. An example could be a girder in a house which does not get out of shape until it is very heavily loaded. The implementation of finite element analysis is very limited, if at all existing.
Fluid dynamics: The dynamics of fluids is quite self-explanatory. It's about things like water reacts and should be simulated. It has been tried over and over, and while some of the attempts are quite impressive no one has really got a truly realistic result. That should be possible now. One thing which might surprise you is that simulating smoke is also a subfield of fluid dynamics.
Hair simulation: Another quite self-explanatory subject. Hair simulation we all know from nVidias Nalu techdemo. However, it has not been used in many games.
Real clothing simulation: The last point on the list is also easy to comprehend. It's about simulating clothing, which should be more than just a texture put on top of the character wearing it. Clothes should be lose fitting, deformable and follow the movements of the character. Examples of this are seen in Hitman and Max Payne.
If you would like to read more about the architectural advantages which makes the PPU superior for physics calculations compared to a CPU, GPU or VPU, I can refer to the following whitepaper from AGEIAT:
http://www.ageia.com/pdf/wp_advanced_gaming_physics.pdf