PSINext: Mike I wanted to end on this particular question, because I think it’s no secret the level of speculation there has been on message boards around the Web as to the potential for Cell to assist with the graphical output of the Playstation 3. The ray-cast clouds in 'Warhawk' seem to represent at least one example of Cell-assisted exotic rendering… and geometry and image post-processing effects seem to be what jump to mind most readily for ways in which Cell might normally assist. In what other ways do you think Cell might be utilized on the graphics side?
Mike Acton: Well, each developer is going to have their own tricks and ideas, and it's hard to speculate on what sort of amazing things we'll see over the lifetime of the Playstation 3. There are a few that seem like obvious choices:
o Compression; both image and geometry data. For the amount of content I expect to see over the course of this generation of games, real time decompression of just about everything that is pumped to the GPU will be a must-have. With the right techniques, at times working with compressed data will actually be faster than uncompressed data on the SPUs!
o Improved 2D graphics. Not just user interface elements, which in my opinion don't get nearly enough attention in games, but in any 2D image used in the game. I expect to see animated image, normal and depth maps - not the wasteful and uninspired flip-book style we see occasionally now, but fully skeletal, curved animations. It could, for example, be a tattoo with dozens of different animations depending on the mood of the character, or maybe leeches that attack and crawl under the skin of the character. And fonts. Real fonts. I want to see beautifully rendered, perfectly set fonts at any scale.
o More complex character skeletons. Transforming a character's skeleton animation data on the GPU generally means limiting the number of influences each vertex can have. I'd like to see some complex characters with a thousand bones or more, where the skeleton can be re-arranged depending on the circumstance, and some amazing animation (for which you'd need the above compression) to go along with it. For instance, fantasy games have a lot of opportunity to explore character complexity on the Cell. While it's not impossible to achieve that character complexity using the GPU, it is a task well suited for the SPUs.
o Lighting - I hope that we'll finally see the death of baked-in lighting. I don't mean to say that lighting influences, light and shadow maps, and combined lights won't be cached. But there will always will be some freedom for those values to be changed by the artists at runtime, even if they can't change every frame.
o Particle systems and effects. And I don't mean a shower of points or sparks! Effects are especially well suited to offloading to the SPUs, so I expect this is the first place we'll see the complexity of animation, physics and graphics really come together.
o Vertex animation. There's almost certainly going to be a mountain of water effects, plasma-type effects, velocity field effects, etc. that will make their way into the games simply because these are excellent entry points into Cell programming.
o Terrain generation. IBM has already put together a ray-cast terrain generator, but I expect to see something a little more GPU friendly. With broadband built into the Playstation 3, who knows? We might even see an earth based game that generates its backgrounds on the fly using Google Earth!
And of course continued work on procedural images and geometry, and maybe offloading some Cg onto the SPUs.
At the end of the day, I don't know all the ways developers are going to take advantage of the Cell for graphics over the lifetime of the Playstation 3. No doubt, these are things we'll be working on right up until the moment we get our Playstation 4 devkits!