Supported features of .obj and .mtl files
.obj (and the associated .mtl files) can be imported into Echoview as 3D model objects.
.obj files
Not all features in .obj files are supported. In particular:
-
geometric vertices (v), texture vertices (vt) and vertex normals (vn) are supported
-
parameter space vertices (vp) are not supported.
-
free-form curves or surfaces are not supported (cstype, deg, bmat, step, curv, curv2, surf, parm, trim, hole, scrv, sp, end, con).
-
faces (f) are supported, but points (p) and lines (l) are not.
-
face statements must specify convex polygons, for example triangles or quadrilaterals.
-
face statements must specify vertices with clockwise winding (when seen by a viewer standing inside the object)
-
group names (g) are supported, but everything after the g is treated as a single group name.
-
call and csh are not supported.
-
object names (o) are not supported.
-
version 2 patch and curve statements are not supported (bsp, bzp, cdc, cdp, res).
-
bevel, c_interp, d_interp, lod, shadow_obj, trace_obj, ctech and stech are not supported.
-
merging and smoothing groups (s and mg) are not supported.
-
material library (mtllib) statements are supported. File names should be relative to the location of the .OBJ file.
-
material name (usemtl) are supported. Note that there should only be one usemtl statement per group.
.mtl files
Not all features in .mtl files are supported. In particular:
-
Ka, Kd and Ks are supported.
-
newmtl and Ns are supported.
-
dissolve (d) is supported, but the alternative Tr is not.
-
map_Kd is supported, but only with .ppm files. File names should be relative to the location of the .mtl file.
-
map_bump, map_Ks, map_Ka and map_D will be (mis-)interpreted as map_Kd.
-
refraction index (Ni) will be (mis-)interpreted as Ns (specular decay).
-
illum is ignored.