Clarify docs on qnans in aiMesh vertex data arrays.

Complete format list, rebuild doc.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@681 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
pull/1/head
aramis_acg 2010-04-14 21:13:58 +00:00
parent c78f40171d
commit e4285a5b38
3 changed files with 20 additions and 10 deletions

Binary file not shown.

View File

@ -18,7 +18,7 @@ or conversion from right-handed to left-handed coordinate systems.
ASSIMP currently supports the following file formats (note that some loaders lack some features of their formats because ASSIMP currently supports the following file formats (note that some loaders lack some features of their formats because
some file formats contain data not supported by ASSIMP, some stuff would require so much conversion work some file formats contain data not supported by ASSIMP, some stuff would require so much conversion work
that it has not yet been implemented, and some formats have not completely been documented by their inventors): that it has not been implemented yet and some (most ...) formats lack proper specifications):
<hr> <hr>
<br><tt> <br><tt>
<b>Collada</b> ( <i>*.dae;*.xml</i> )<br> <b>Collada</b> ( <i>*.dae;*.xml</i> )<br>
@ -30,8 +30,6 @@ that it has not yet been implemented, and some formats have not completely been
<b>AutoCAD DXF</b> ( <i>*.dxf</i> ) <sup>2</sup><br> <b>AutoCAD DXF</b> ( <i>*.dxf</i> ) <sup>2</sup><br>
<b>Neutral File Format</b> ( <i>*.nff</i> ) <br> <b>Neutral File Format</b> ( <i>*.nff</i> ) <br>
<b>Sense8 WorldToolkit</b> ( <i>*.nff</i> ) <br> <b>Sense8 WorldToolkit</b> ( <i>*.nff</i> ) <br>
<b>LightWave Model</b> ( <i>*.lwo</i> ) <br>
<b>MODO model</b> ( <i>*.lxo</i> ) <br>
<b>Valve Model</b> ( <i>*.smd,*.vta</i> ) <sup>3</sup> <br> <b>Valve Model</b> ( <i>*.smd,*.vta</i> ) <sup>3</sup> <br>
<b>Quake I</b> ( <i>*.mdl</i> ) <br> <b>Quake I</b> ( <i>*.mdl</i> ) <br>
<b>Quake II</b> ( <i>*.md2</i> ) <br> <b>Quake II</b> ( <i>*.md2</i> ) <br>
@ -50,10 +48,19 @@ that it has not yet been implemented, and some formats have not completely been
<b>Terragen Terrain </b> ( <i>*.ter</i> ) <br> <b>Terragen Terrain </b> ( <i>*.ter</i> ) <br>
<b>3D GameStudio Model </b> ( <i>*.mdl</i> ) <br> <b>3D GameStudio Model </b> ( <i>*.mdl</i> ) <br>
<b>3D GameStudio Terrain</b> ( <i>*.hmp</i> )<br> <b>3D GameStudio Terrain</b> ( <i>*.hmp</i> )<br>
<b>Ogre</b> (<i>.mesh.xml, .skeleton.xml, .material</i>)<br><br> <b>Ogre</b> (<i>*.mesh.xml, *.skeleton.xml, *.material</i>)<sup>3</sup> <br>
<b>Milkshape 3D files</b> ( <i>*.ms3d</i> )<br> <b>Milkshape 3D</b> ( <i>*.ms3d</i> )<br>
<b>LightWave Model</b> ( <i>*.lwo</i> )<br>
<b>LightWave Scene</b> ( <i>*.lws</i> )<br>
<b>Modo Model</b> ( <i>*.lxo</i> )<br>
<b>CharacterStudio Motion</b> ( <i>*.csm</i> )<br>
<b>Stanford Ply</b> ( <i>*.ply</i> )<br>
<b>TrueSpace</b> ( <i>*.cob, *.scn</i> )<br><br>
</tt> </tt>
See the @link importer_notes Importer Notes Page @endlink for informations, what a specific importer can do and what not.<br> See the @link importer_notes Importer Notes Page @endlink for informations, what a specific importer can do and what not.
Note that although this paper claims to be the official documentation,
http://assimp.sourceforge.net/main_features_formats.html
<br>is usually the most up-to-date list of file formats supported by the library. <br>
<sup>3</sup>: These formats support animations, but ASSIMP doesn't yet support them (or they're buggy) <sup>3</sup>: These formats support animations, but ASSIMP doesn't yet support them (or they're buggy)
<br> <br>

View File

@ -355,11 +355,13 @@ struct aiMesh
* but the normals for vertices that are only referenced by * but the normals for vertices that are only referenced by
* point or line primitives are undefined and set to QNaN (WARN: * point or line primitives are undefined and set to QNaN (WARN:
* qNaN compares to inequal to *everything*, even to qNaN itself. * qNaN compares to inequal to *everything*, even to qNaN itself.
* Use code like this * Using code like this to check whether a field is qnan is:
* @code * @code
* #define IS_QNAN(f) (f != f) * #define IS_QNAN(f) (f != f)
* @endcode * @endcode
* to check whether a field is qnan). * still dangerous because even 1.f == 1.f could evaluate to false! (
* remember the subtleties of IEEE754 artithmetics). Use stuff like
* @c fpclassify instead.
* @note Normal vectors computed by Assimp are always unit-length. * @note Normal vectors computed by Assimp are always unit-length.
* However, this needn't apply for normals that have been taken * However, this needn't apply for normals that have been taken
* directly from the model file. * directly from the model file.
@ -373,7 +375,8 @@ struct aiMesh
* of points and lines only may not have normal vectors. Meshes with * of points and lines only may not have normal vectors. Meshes with
* mixed primitive types (i.e. lines and triangles) may have * mixed primitive types (i.e. lines and triangles) may have
* normals, but the normals for vertices that are only referenced by * normals, but the normals for vertices that are only referenced by
* point or line primitives are undefined and set to QNaN. * point or line primitives are undefined and set to qNaN. See
* the #mNormals member for a detailled discussion of qNaNs.
* @note If the mesh contains tangents, it automatically also * @note If the mesh contains tangents, it automatically also
* contains bitangents (the bitangent is just the cross product of * contains bitangents (the bitangent is just the cross product of
* tangent and normal vectors). * tangent and normal vectors).
@ -385,7 +388,7 @@ struct aiMesh
* Y texture axis. The array contains normalized vectors, NULL if not * Y texture axis. The array contains normalized vectors, NULL if not
* present. The array is mNumVertices in size. * present. The array is mNumVertices in size.
* @note If the mesh contains tangents, it automatically also contains * @note If the mesh contains tangents, it automatically also contains
* bitangents. * bitangents.
*/ */
C_STRUCT aiVector3D* mBitangents; C_STRUCT aiVector3D* mBitangents;