Imagination PowerVR SDK Blog

Why POD file?


Hi, there,


I am a newbie here. I was trying to find some info about pod file, which lead me up to here. My curiosity is about why we need a new pod format.


The first time I saw it was in the pvr sdk demos and then oolong ported them. I found pod is kind of official format for pvr sdk, but others are less or even no support for that. Indeed, there is plugins and utilities for that, but still I am curious why we not use the existing ones like md2 or similar?


One of reasons that I came up with is the hardware optimization. It seems that the tools can do some optimization on the data such as reordering the triangle strips or making vectors more likely cached, does it? Any other reasons?


Any idea would be appreciated. Thanks in advance!




And why not ?

md2 and other formats often make certain assumptions and are generally optimized for specific purpose which may or may not be what people want ..... the point being that POD is a very generic and rather simple format (frankly not much more than being a collection of serialized vertex/index buffers + some simple scene graph info) and also supports some GLES specific features.

In my case I use POD purely as a way to store multiple objects and almost completely disregard material/scene graph part of the format.


I think we chose to make our own scene format (POD) so that we had complete control over it and could add what we wanted. We developed the first version a long time ago and it did was required at the time and has done since. We are always open to feature requests regarding any of the file-formats we use.

It’s advantage over other formats is the optimisation our tools can add when creating it (a lot of this could be applied to other formats tbh) and possibly the flexibility that warmi is talking about. You can use it to store a single triangle or just an animation on it’s own or you can store an entire scene which more or less can make a demo on its own.


warmi and Gordon, Thanks alot!