POD File Structure

As previously mentioned a POD file is divided into a set of header blocks and a set of blocks containing the scene data.



This section will go into more detail to describe the purpose of each of these blocks, as well as any sub-blocks located inside them.

Header Blocks

The header blocks give general information about the POD file.

NameIdentifierDescription
Version1000A null terminated character string containing the following: “AB.POD.2.0”
Export Options1002A null terminated character array containing the options used to export the POD file. The contents of this string are implementation specific from exporter to exporter and are primarily used to allow an exporter to re-read the options used in an existing POD file.
History1003A null terminated character array containing the history of the POD file. The exact contents of this string are implementation-specific from exporter to exporter. Its use is informational only.

Scene Data Blocks

The scene data block contains all of the data which describes a scene. This block is made up of various other blocks which describe the number of cameras, lights, meshes, materials, and so on.

A full list of the various different kinds of blocks within the scene data block is shown below.

NameDescription
Clear ColourClear colour of the scene (see Clear Colour).
Ambient ColourAmbient colour of the scene (see Ambient Colour).
Num. CamerasNumber of cameras in the scene (see Num. Cameras)
Num. LightsNumber of lights in the scene (see Num. Lights).
Num. MeshesNumber of meshes in the mesh array (see Num. Meshes).
Num. NodesNumber of nodes in the scene (see Num. Nodes).
Num. Mesh NodesThe total number of meshes in the scene (this may be larger than Num. Meshes as this number will include instanced meshes) (see Num. Mesh Nodes).
Num. TexturesNumber of textures in the scene (see Num. Textures).
Num. FramesNumber of frames of animation in the scene (see Num. Frames).
Num. MaterialsNumber of materials in the scene (see Num. Materials).
CameraSpecifies all the information relating to a single camera within the scene. This block may appear multiple times (see Camera).
LightSpecifies all the information relating to a single light within the scene. This block may appear multiple times (see Light).
MeshSpecifies all the information relating to a single mesh within the scene. This block may appear multiple times (see Mesh).
NodeSpecifies all the information relating to a single node within the scene. This block may appear multiple times (see Node).
TextureSpecifies all the information relating to a single texture within the scene. This block may appear multiple times (see Texture).
MaterialSpecifies all the information relating to a single material within the scene. This block may appear multiple times (see Material).
Scene FlagsSpecifies whether a number of flags are set within the POD file (see Scene Flags).
FPSSpecifies the animation speed of the scene, in frames per second (see FPS).
Scene User DataCustom data added by the exporter (see Scene User Data).

The rest of this section will provide a reference for each of these blocks including their unique identifier numbers and a description of the types of data they contain.