Havok Intros Havok FX Engine to Compute Physics Effects on GPUs

Weeks after graphics company ATI Technologies claimed that its graphics processing units (GPUs) were suitable for physics and even had some advantages when compared to dedicated physics processing units, Havok, a developer of physics and animation engines, unveiled its Havok FX – a physics engine capable of running physics effects calculations on hardware that supports Shader Model 3.0. The technology from Havok addresses the same needs – effects physics – that is targeted by AGEIA, a developer of PPUs.

Havok FX to Target Effects Physics

Just like AGEIA’s PhysX PPU, Havok’s new technology enables game developers to create more physical effects in their games, such as universal collision detection, body dynamics, fluid dynamics, hair simulation, clothing simulation and so on: virtually, all the effects physics that do not affect game-play.

Most real-world outdoor scenes have large numbers of small, movable objects, such as leaves, litter etc. Objects like these swirl, pile up, and interact with characters which walk through them, or with other objects. Many games have static visual representations of rubble, and gravel. With Havok FX these types of objects could respond to anything at any time.

Havok FX will target the domain of effects physics, and will embrace technology behind GPU hardware. AGEIA, however, will use its own physics processor and appropriate application programming interface to perform similar effects.

By performing simulation, collision detection and rendering directly on the GPU, Havok FX avoids the transfer of large amounts of data between the CPU and GPU, enabling a level of performance never seen before in physics simulation.

Game-Play Physics to Get Acceleration Too

Game-play physics affect how a game is played from moment-to-moment, and is generally computed on a computer’s central processing unit (CPU). Physical changes that are caused in the game or that happen to a character or around it – like knocking over a box, and then climbing up on it – change what a gamer may want to do in each instant of game play. As a result, game-play physics share an intimate link with the core of a game’s engine; including the game’s logic or artificial intelligent (AI), and even with the game’s audio systems. This close relationship continues to grow as physics is used for an ever broadening array of game-play techniques – from detecting objects that move into a game character’s range of vision – to synchronizing sound effects instantly with physical events throughout the game. Both game-play physics and game logic demand instant access and tolerate no detectible latency to preserve the game-play experience. The close proximity between physics, game logic, and memory, defines game play and generally demands that these systems execute together on a system’s central processing unit (CPU).

In order to accelerate game-play physics effects Havok advices to use its HydraCore technology that boosts game-play physics performance on multi-core and/or multi-threaded microprocessors.

Havok FX Explained

Havok FX will support 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.

Havok FX to Be Released Soon to Game Developers

Havok FX is currently under development. Though no release date is currently announced, Havok is expected to provide early access to leading PC game developers before the end of 2005, to develop real-world tests of this new product on cutting edge GPUs from major graphics card vendors.

Given that many game developers already use AGEIA’s 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 GPUs will be sufficient: even now Havok recommends graphics cards like NVIDIA GeForce 7800 GTX for the best performance.

Havok FX will be a new product from Havok and is not part of any existing product or product bundle. It is an optional add-on product that game developers will be able to license for their platform or console based games.