Some may think that the second graphics processing units (GPUs) within a personal computer (PC) is something excessive, however, Nvidia and Havok, a developer of physics engines, have offered owners of multi-GPU systems yet another advantage: to calculate physics in some of the upcoming games using the power of the second GPU.
“Moving physics processing to the GPU is a natural progression enabled by the high programmability in today’s GPUs. By combining expertise with Havok, we have produced a fantastic solution for game developers that will lead to more compelling game-play and more realistic gaming experiences,” said David Kirk, chief scientist at Nvidia.
Havok is primarily known as a developer of physics engines for games. In late 2005 the company introduced its Havok FX engine that is designed to perform effects physics on GPUs. In case of a system with two Nvidia GeForce 6- or 7-series graphics cards, one calculates physics effects and another renders images, according to Nvidia.
When originally announced, the developer of the Havok FX engine recommended a powerful graphics card, such as Nvidia GeForce 7800 GTX, for physics calculations onto the GPU. ATI Technologies, the arch-rival of Nvidia Corp., also said last year that its high-performance GPUs were also capable of calculating physics.
Given that many game developers already use Ageia’s dedicated physics processing units (PPUs) and appropriate software, it is highly likely that Havok’s FX will have cost advantage over the PhysX, but will not have time-to-market advantage. Furthermore, it is also unclear whether performance of physics effects calculated on mainstream GPUs will be sufficient.
The Havok FX product is currently in early release to select developers and is expected to be available this summer.
Havok FX supports a new type of rigid-body object called a Debris Primitive. A Debris Primitive is a compact representation of a 3D collideable object that can be processed via Shader Model 3.0 (SM3.0) in a very efficient manner. Debris Primitives can be pre-modeled as part of a game’s static art content (e.g. custom/textured boulders, space junk, or collateral objects waiting for an explosive charge). Debris Primitives may also be generated on the fly during game play by the CPU, based on the direction and intensity of a force (e.g. brick and stone structure blown apart by a cannon blast). Once generated by the CPU, Debris Primitives can be dispatched fully to the GPU for physical simulation and final rendering – comprising a powerful blending of physics and state-of-the-art shading effects for particulate and large scale phenomenon.
Havok FX Debris Primitives can even interact with game-play critical objects, through an innovative approach that will provide the GPU with a one-way transfer of critical information that will allow Debris Primitives to respond to game play objects and large-scale world definitions. Havok FX Debris Primitives may be simulated in either OpenGL or DirectX. Havok will provide programming samples that illustrate interaction of Havok FX effects physics with Havok Complete game-play physics, to ensure that Physics Effects based on Havok FX deliver an immersive experience.