Bullet Physics – The Future of GPU-Accelerated Physics?
'Everybody [games developers] looks at things like basic rigid bodies – that's a no-brainer – they might use physics for a few particle effects, but that's not what I envisioned when I started Ageia,'
says Hegde. 'We wanted physics to greatly improve the experience for the gamer but frankly, even today, six, seven, maybe eight years later, physics is not mainstream.
'I think one of the issues is the model that we used, where we fixed an API and didn't allow games developers to adjust it, because we didn't want them to break the hardware acceleration. It was definitely a model that's more hardware-centric for the vendor, rather than developer-centric for the content developer, and Havok by the way has a similar issue. Bullet is different – they want you to do stuff yourself, they want you to use the API and do everything underneath it – they give you a set of functionalities, but that functionality is effectively more or less the same to everybody, and any differentiation comes from really how you use it in your game story.
Rockstar's RAGE engine puts Bullet Physics to good use in GTA IV
'So the model is different. Rockstar used Bullet, then games developers optimised it and adjusted it to add physics to their game in a way that suited their configuration and workload - that model is much more interesting, especially to game developers. So that's the model we're using with Bullet and AMD – we will give them [game developers] a lower-level API, so that they can innovate and add content to their physics offering on their own - and when I say content I don't mean story or art, I mean actual physics content in terms of different physics functionality – and we'll give them a much lower-level API, so that we're not stifling them by forcing them to adopt an SDK.'
Unlike PhysX, GPU-accelerated Bullet Physics is also effectively open to a wide variety of GPU hardware from different hardware manufacturers.
'Today there are already portions of Bullet Physics that are hardware accelerated with OpenCL, and some of the parts are CUDA-accelerated too,'
says Hegde, 'so the model we bring will be very friendly to developers – it will be inclusive, they can take some libraries and do some of them in CPU and some in GPU. It'll be up to the developer to use it, so it's not like we'll say this is what you can use for ATI, this is what we've activated and this is what you need to do to use it.
How much longer will gaming physics APIs such as PhysX be able to last with GPU-accelerated Bullet Physics on the horizon?
'That model can work, but it's not easy and it's expensive because the games developers aren't motivated by themselves, so you have to put in a lot of bodies to work on the game, and it just doesn't scale. I'm looking to scale physics - physics can actually make a difference to games you play in your browser, because one physics engine can be run on lots of platforms, but with the PhysX model that will never happen, and that's what we're looking to do with Bullet – go wide.'
Interestingly, Hegde also didn't rule out the possibility of GPU-accelerated Havok rearing its head again either, saying that ' it is possible that we'll see it in the future, but right now our gaming strategy at AMD on GPGPU is based on the Bullet Physics engine.'
In short, it looks as though AMD is now putting some serious money behind gaming physics, and with a developer-friendly business model, not to mention wide-ranging hardware support, Bullet Physics has the potential to take over from CUDA-accelerated PhysX. Whether this will translate into fully fledged game-changing physics remains to be seen, but if future consoles use OpenCL-compatible GPU hardware (and they probably will), and GPU-accelerated physics on PCs indeed opens up to multiple hardware platforms, then it looks as though gaming physics might actually start to take off in future.
Look out for a full feature on the future of OpenCL in Issue 92 of Custom PC, on sale 17 March.