I just busted out some 3DS code I did a while back and implemented a 3DS exporter (still a little bit rough) for my Blacksmith3D software
[href]www.blacksmith3d.com[/href]
My question is this... the 3DS file format seems to still be widely used in the gaming community (please correct me if I am wrong). There are a few limitations to the format, but the most significant that I can think of right now has to do with texture mapping. In the 3DS file format, texture coordinates have to relate to the vertices in a 1-to-1 kind of way.
In other words, if you have a triangle who's vertex indices go like
Triangle #1, v[0] = 1, v[1] = 10, v[2] = 21
Then the only possible texture coordinates are...
Triangle #1, uv[0] = 1, uv[1] = 10, uv[2] = 21
Many objects have different texture map regions (e.g. front and back). In file formats like OBJ, this is no problem because the UV coordinates are independent of the vertices.
In the 3DS file format, to preserve the texture mapping of such an object, we have to "split" the polygons by creating duplicate vertices. The only problem with this is that it creates a seam in the mesh when we apply a smooth surface (via normals). You can test this out by exporting a 3DS file from 3D Studio Max, and checking the "Preserve MAX texture coordinates" option.
So......
As game creators, have you encountered this problem and how do you go about fixing it? Do you simply use another file format in this situation (*.X)? Do you simply live with the seams? Do you "weld" the seams together after the object is loaded? Or, do you simply avoid rendering the objects with normal smoothing?
I'd appreciate your input regarding this topic,
Konan
Blacksmith3D - Morph and Paint 3D objects with ease
http://www.blacksmith3d.com