In a move which went mostly unnoticed because it was brought up in a general discussion about the new IBM/Toshiba/Sony CELL processor, but is a dramatic shift in strategy, Sony disclosed at the GDC that the next generation of PlayStation (the so-called “PS3″) will adopt open, or at least popular, APIs as part of its architecture.
Sony will be using OpenGL ES for the 3D graphics API, NVIDIA’s Cg shader language, and the development tools will also incorporate support for the COLLADA format for art asset interchange so that developers can share 3D art among multiple platforms.
Sony Computer Entertainment’s (SCE) manager of developer relations, Mark DeLoura, in describing the software components of Sony’s implementation of the CELL processor, indicated that Sony wanted to enable the use of familiar APIs, and provide tools which run on “popular operating systems”. Presumably that means Windows, but might also include Linux – he wouldn’t elaborate.
DeLoura explained that Sony chose OpenGL ES over straight OpenGL for a number of reasons, key among them that OpenGL is top heavy and includes a lot of baggage which game developers don’t need. OpenGL ES is also specifically designed for interactive 3D applications, games key among those, and it offers a much smaller memory footprint. Most importantly, according to DeLoura – OpenGL ES is an industry standard. He also stressed that SCE is working closely with the Khronos group to position ES as a good choice for real-time interactive graphics.
DeLoura did leave open the option to provide or use other APIs for other applications of the PS3. Again, no further details on what applications.
In terms of Sony’s choice of Cg as the shading language for PS3 development, DeLoura explained that NVIDIA and SCE are partners in this effort, and that Cg was chosen because it is widespread in use, there are many samples of how to program Cg, and of course, there are a number of books which describe Cg programming. It doesn’t hurt that Cg is similar to other shader languages, nor that Cg offers an extensive standard library.
Those items, combined with the announcement that the same API would be available to program both the PPE and SPE components of the CELL processor, were well received by the programmers in the audience.
For artists, especially game artists, Sony’s support of COLLADA should be very welcome. As next generation game development progresses, the sheer amount of 3D art required for such titles will be incredible, as will the number of tools needed to work such art. It’s unrealistic in terms of manpower and resources to create each separate but similar pieces of art for multiple platforms, or even maintain multiple instances of the same art. Thus, the idea behind COLLADA is to have a core set of 3D art assets which can then be shared collaboratively between users and applications, and converted as needed to the target platforms and uses.
COLLADA is open source, not proprietary, and it is also cross platform. Several major tools vendors, including Alias, Discreet, and Softimage, have already indicated that they supporting the COLLADA effort, meaning that they will or are already providing COLLADA importers and exporters. DeLoura stressed that Sony has supported COLLADA since its release at SIGGRAPH last summer.
This move to open standards and popular APIs is a dramatic change for Sony, which has traditionally espoused proprietary efforts and interfaces – the ATRAC codec and the PS2 programming interfaces among them. However, it’s potentially a brilliant move too, as many developers already have extensive familiarity with OpenGL, and increasingly OpenGL ES, as well as NVIDIA’s Cg shader language. This reduces the learning curve.
Further, it opens the possibility that after the PS3’s launch, the platform could be opened to general development to anyone, not just game developers. This is in marked contrast to Xbox, which looks likely to be a closed system to anyone other than licensed game developers.
When DeLoura was asked about this possibility, he expressed his hope it would materialize, but added that he thought it was even possible in the near term to see PSP development opened up to the masses.
Licensed PS3 developers get an out of the box compiled, debugger, and integrated development environment (IDE), and performance analysis tools are available too. Sony predicts that extensive middleware will be available to assist developers with key functionality, and faster to-market times.
Whether Sony’s new philosophy on open standards will extend to open development remains to be seen, of course, but by making this commitment, and shifting away from proprietary APIs, they give OpenGL ES a tremendous boost, potentially to the detriment of Direct3D and D3Dm.