Tools: Common parameters

ASSIMP Command-line tools

Tools  v3.1.1 (June 2014)
Common parameters

The parameters described on this page are commonly used by almost every assimp command.

They specify how the library will postprocess the imported data. This is done by several configurable pipeline stages, called 'post processing steps'. Below you can find a list of all supported steps along with short descriptions of what they're doing.
Programmers: more information can be found in the aiPostProcess.h header.

Parameter Long parameter Description
-ptv –pretransform-vertices Move all vertices into worldspace and collapse the scene graph. Animation data is lost. This is intended for applications which don't support scenegraph-oriented rendering.
-gsn –gen-smooth-normals Computes 'smooth' per-vertex normal vectors if necessary. Mutually exclusive with -gn
-gn –gen-normals Computes 'hard' per-face normal vectors if necessary. Mutually exclusive with -gsn
-cts –calc-tangent-space If one UV channel and normal vectors are given, compute tangents and bitangents
-jiv –join-identical-vertices Optimize the index buffer. If this flag is not specified all vertices are referenced once.
-rrm –remove-redundant-materials Remove redundant materials from the imported data.
-fd –find-degenerates Find and process degenerates primitives.
-slm –split-large-meshes Split large meshes over a specific threshold in smaller sub meshes. The default vertex & face limit is 1000000
-lbw –limit-bone-weights Limit the number of bones influencing a single vertex. The default limit is 4.
-vds –validate-data-structure Performs a full validation of the imported data structure. Recommended to avoid crashes if an import plugin produces rubbish
-icl –improve-cache-locality Improve the cache locality of the vertex buffer by reordering the index buffer to achieve a lower ACMR (average post-transform vertex cache miss ratio)
-sbpt –sort-by-ptype Splits meshes which consist of more than one kind of primitives (e.g. lines and triangles mixed up) in 'clean' submeshes.
-lh –convert-to-lh Converts the imported data to left-handed coordinate space
-fuv –flip-uv Flip UV coordinates from upper-left origin to lower-left origin
-fwo –flip-winding-order Flip face winding order from CCW to CW
-ett –evaluate-texture-transform Evaluate per-texture UV transformations (e.g scaling, offset) and build pretransformed UV channels
-guv –gen-uvcoords Replace abstract mapping descriptions, such as 'spherical' or 'cylindrical' with proper UV channels
-fixn –fix-normals Run a heuristic algorithm to detect meshes with wrong face winding order/normals.
-tri –triangulate Triangulate poylgons with 4 and more points. Lines, points and triangles are not affected.
-fi –find-instances

Search the data structure for instanced meshes and replace them by references. This can reduce vertex/face counts but the postprocessing-step takes some time.

-og –optimize-graph

Simplify and optimize the scenegraph. Use it with care, all hierarchy information could be lost. Animations remain untouched.

-om –optimize-mesh Optimize mesh usage. Meshes are merged, if possible. Very effective in combination with –optimize-graph

For convenience some default postprocessing configurations are provided. The corresponding command line parameter is -c<name> (or –config=<name>).

Name Description List of steps executed
fast Fast post processing config, performs some essential optimizations and computes tangents -cts, -gn, -jiv, -tri, -guv, -sbpt
default Balanced post processing config; performs most optimizations -cts, -gsn, -jiv, -icl, -lbw, -rrm, -slm, -tri, -guv, -sbpt, -fd, -fiv
full Full post processing. May take a while but results in best output quality for most purposes -cts, -gsn, -jiv, -icl, -lbw, -rrm, -slm, -tri, -guv, -sbpt, -fd, -fiv, -fi, -vds -om

The -tuv, -ptv, -og flags always need to be enabled manually.

There are also some common flags to customize Assimp's logging behaviour:

Name Description
-l or –show-log Show log file on console window (stderr)
-lo<file> or –log-out=<file> Streams the log to <file>
-v or –verbose Enables verbose logging. Debug messages will be produced too. This might decrease loading performance and result in very long logs ... use with caution if you experience strange issues.
Generated on Sat Jun 14 2014 18:58:46 for Tools by   doxygen 1.8.7