Supported 3D formats

IV format overview:

(unfinished - no information available)


IV file characteristics:


IV format references and information:

IV format information and examples from John Burkardt


IV support notes inside IVCon source code:

 Author:  John Burkardt
 Change: 04 Mar 2007 Tomasz Lis adjusted to new core

 A list of supported elements follows. Please modify if you'll enhance something.
 Format support note - reading:
 - unknown
 Format support note - writing:
 - Full 32-bit vertices support
 - Full 32-bit faces support, unlimited face order
 - No meshes support
 - Partial materials support (untested)
 - One texture support
 - Texture UV support (per vertex)
 - No camera/view support
 - No Environment or lights support
 - No shapes support (disabled because of error)


NOTE: support of this format is unfinished, it probably won't work.



Example:

#Inventor V2.0 ascii

Separator {
Info {
string "Inventor file generated by IVCON.
Original data in file cube.iv."
}
Separator {
LightModel {
model PHONG
}
MatrixTransform { matrix
0.9  0.0  0.0  0.0
0.0 -0.9  0.0  0.0
0.0  0.0 -1.5  0.0
0.0  0.0  0.0  1.0
}
Material {
ambientColor  0.2 0.2 0.2
diffuseColor  [
0.8 0.8 0.8,
0.7 0.1 0.1,
0.1 0.8 0.2,
]
emissiveColor 0.0 0.0 0.0
specularColor 0.0 0.0 0.0
shininess     0.2
transparency  [
0.0, 0.5, 1.0,
]
}
Texture2 {
filename      "fred.rgb"
wrapS         REPEAT
wrapT         REPEAT
model         MODULATE
blendColor    0.0 0.0 0.0
}

MaterialBinding {
value PER_VERTEX_INDEXED
}
NormalBinding {
value PER_VERTEX_INDEXED
}
TextureCoordinateBinding {
value PER_VERTEX_INDEXED
}

ShapeHints {
vertexOrdering COUNTERCLOCKWISE
shapeType UNKNOWN_SHAPE_TYPE
faceType CONVEX
creaseAngle 6.28319
}

Coordinate3 {
point [
8.59816       5.55317      -3.05561,
8.59816       2.49756      0.000000E+00,
...etc...
2.48695       2.49756      -3.05561,
]
}

Normal {
vector [
0.71 0.71 0.0,
...etc...
0.32 0.32 0.41,
]
}

TextureCoordinate2 {
point [
0.0  1.0,
0.1, 0.8,
...etc...
0.4  0.7,
]
}

IndexedLineSet {
coordIndex [
0,    1,    2,   -1,
3,    4,    5,   -1,
7,    8,    9,   -1,
...etc...
189,  190,  191,   -1,
]
materialIndex [
0,    0,    0,   -1,
1,    1,    1,   -1,
2,    2,    2,   -1,
...etc...
64,   64,   64,   -1,
]
}

IndexedFaceSet {
coordIndex [
0,    1,    2,   -1,
3,    4,    5,   -1,
7,    8,    9,   -1,
...etc...
189,  190,  191,   -1,
]
materialIndex [
0,    0,    0,   -1,
1,    1,    1,   -1,
2,    2,    2,   -1,
...etc...
64,   64,   64,   -1,
]
normalIndex [
0,    0,    0,   -1,
1,    1,    1,   -1,
2,    2,    2,   -1,
...etc...
64,   64,   64,   -1,
]
textureCoordIndex [
0,    0,    0,   -1,
1,    1,    1,   -1,
2,    2,    2,   -1,
...etc...
64,   64,   64,   -1,
]
}

IndexedTriangleStripSet {
vertexProperty VertexProperty {
vertex [ x y z,
...
x y z ]
normal [ x y z,
...
x y z ]
materialBinding OVERALL
normalBinding PER_VERTEX_INDEXED
}
coordIndex [
i, j, k, l, m, -1,
n, o, p, q, r, s, t, u, -1,
v, w, x, -1
..., -1 ]
normalIndex -1
}

}
}

Copying and copyrights:
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.