Geometry Options in PVRGeoPOD

The geometry options determine the processing applied to primitives and vertices by PVRGeoPOD

Geometry settings are adjusted using the Geometry tab in PVRGeoPOD interface. These options include settings such as what type of primitives the vertex data will be stored as and whether vertices should be sorted to improve cache efficiency.

Material Options in PVRGeoPODTransformation Options in PVRGeoPODUser Options in PVRGeoPODVertex Options in PVRGeoPOD

The table below summarises the available general geometry options.

Option Description
Export Geometry This checkbox must be ticked for geometry information to be exported.
Primitive Type

This determines how the primitives will be ordered. The available options are:

  • Triangle list
  • Indexed triangle list
  • Triangle strips
  • Indexed triangle strips

When targeting PowerVR hardware, performance can be improved by ensuring that the primitives are in the form of a triangle list that is indexed.

Optimisation setting This option allows toggling of a number of optimisations that can be applied to the geometry data. Be aware that large meshes might take a long time to process.
Sort triangles

The correct sorting method can provide a performance improvement.

The available options are:

  • No Sorting
  • Vertex Cache Block
  • Strip Order (fast)
  • Strip Order (high-quality)

The specific sorting algorithm to use varies with platform, however, the following are suggested:

  • If PowerVR MBX hardware is being targeted, use Strip Order (fast) or Strip Order (high-quality), which uses the PVRTTriStrip algorithm. Strip Order (high-quality) will take longer however

  • If PowerVR SGX, Rogue or Furian hardware is being targeted use Vertex Cache Block, which uses the PVRTGeometrySort algorithm.

  • If the DirectX API is being targeted, use Vertex Cache Block.

Interleave vertex data Interleaving vertex data is an optimisation that takes the vectors generated for the position, normals, UV coordinates, and so on, and places them into a single large array instead in separated arrays.
Align vertex data (to 32-bits) This option pads the interleaved array so that each attribute for each vertex falls on a 32-bit boundary. On some hardware this will provide a small performance improvement due to the overhead involved in accessing memory that does not align correctly with the said boundary.
Do not export hidden objects This option prevents objects that are not visible in the scene being exported.
Export Adjacency List

This option exports an additional index list with adjacent vertices. This list holds 6 indices per triangle. Adjacency lists can be used in geometry shaders to work out silhouettes.

This option only is not available for triangle strips.