Vertex Options in PVRGeoPOD

The vertex options can be used to set which vectors will be exported into the vertices of the final POD format

The image below illustrates the options available per vertex, including the vectors to be exported, their format, how many dimensions a given vector uses, and any other additional option related to a given set of vertex data.

Some variables can be fine-tuned, such as the individual dimensions that should be exported and the specific data types to be used.

The data that is greyed out will not be exported and any area that is not greyed out is only exported if information exists to fill it.

The table below provides a full list of all vertex data export options.

Option Description
Position Vertex position. The checkbox can be used to set whether the vertex position is exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Normal Vertex normal. The checkbox can be used to set whether the vertex normal is exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Colour Vertex colour. The checkbox can be used to set whether the vertex colour is exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Export skinning data This option can be used to toggle whether skinning data should be exported. This data includes bone indices, bone weights, and matrix palette size.
Export skinning data: Bone indices Bone indices details to be exported. The checkbox can be used to set whether bone indices will be exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Export skinning data: Bone weights Bone weights details to be exported. The checkbox can be used to set whether bone weights will be exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Export skinning data: Matrix palette size

This option represents the number of matrices that can affect a specific mesh. By default, this value is equal to 9 in order to support APIs which limit the matrix palette size, for example, OpenGL ES 1.1.

If the number of matrices affecting a mesh is greater than the Matrix palette size the mesh is split into batches which use fewer matrices per batch. The side effect is that more meshes produce more draw calls and thus a greater overhead.

Export skinning data: Bone Batching

This box will enable or disable splitting the mesh when the number of matrices is greater than Matrix palette size.

Modern APIs do not have a limit to the number of Matrices/Bones that can be used per mesh. This option should be disabled when targeting OpenGL ES 3.x, Vulkan, and so on.

Bone batching is covered in more detail in the next topic.

Export mapping channels The mapping channel options consist of the settings for UV coordinate channels, their associated data types, and dimensions. Tick this option if UV coordinates are to be exported.
Export mapping channels: UVW<number> These options are used to select the specific mapping channel which will be exported. The data type as well as the dimensions that need to be exported can also be selected as appropriate.
Export mapping channels: Flip V co-ordinate This option flips the V coordinate in the UV texture. It is used when textures are to behave in the same way as a ‘render to texture’ target in OpenGL. If both Direct3D and OpenGL are being targeted, this option is unlikely to be desirable.
Generate tangent space The tangent space options consist of the settings for both of the binormal and tangent channels, their associated data types, and dimensions. This option should be ticked if tangents and binormals need to be exported.
Generate tangent space: Use mapping channel The value of this option determines which of the possible eight UV channels (0 to 7) are used to create the tangent space data.
Generate tangent space: Tangent This options toggles whether tangents will be exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Generate tangent space: Binormal This option toggles whether binormals will be exported. The data type as well as the dimensions that need to be exported can also be set as appropriate.
Generate tangent space: Vertex splitting (-1 .. 1) This option can have a value between -1 and 1, representing a threshold value. If multiple faces share a vertex and the difference between the directions of those faces is greater than the threshold, a new vertex is created for each face with separate tangent space data.

The table below lists all of the vertex data formats supported by PVRGeoPOD. The vertex data format is set for each vector in the field Data Type.

Data type
ABGR
ARGB
RGBA
D3DCOLOR
DEC3N
fixed 16.16
float
half-float
int
short
short, normalised
UBYTE4
unsigned byte
unsigned byte, normalised
unsigned int
unsigned short
unsigned short, normalised
byte
byte, normalised