OgreAssimp -- an missing assxml format

What it says on the tin: a place to discuss proposed new features.
User avatar
paul424
Gnome
Posts: 377
Joined: Thu May 24, 2012 7:16 pm
x 18

OgreAssimp -- an missing assxml format

Post by paul424 »

Hello Comrades !
Recently I discovered the ogre-assimp and that's something what the working people of town and villages needs ! However it does not handle one of the formats -- the native assimp xml file format ! Isn't that something what should be changed ? I use assimp to add tangents to one of the models of OD, then I want to reexport the format to ogre mesh file format, and the proxy format should be xml assimp because it's the most native one .... isn't it ?
EDIT: The assimp tool provided by the devel package on OpenSuse is very poor : it seems to only convert from ogre mesh to .obj file format and vice versa. On the other hand it provides a handful of options like :
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
Isn't that something what should be in ogre-assimp or there is, and I don't see it ?
best regards.
paroj
OGRE Team Member
OGRE Team Member
Posts: 2106
Joined: Sun Mar 30, 2014 2:51 pm
x 1132

Re: OgreAssimp -- an missing assxml format

Post by paroj »

you seem to be confusing "assimp" (unrelated to Ogre), "OgreAssimpConverter" and "OgreXMLConverter"
User avatar
paul424
Gnome
Posts: 377
Joined: Thu May 24, 2012 7:16 pm
x 18

Re: OgreAssimp -- an missing assxml format

Post by paul424 »

Sorry for a bit chaotic post, what I meant is this : What should I do if the mesh doesn't have an vertices tangents defined, apart from calling Mesh::buildTangentVectors(..) ?