[TuxKart-devel] [Fwd: [Plib-devel] Model Formats]
Status: Alpha
Brought to you by:
sjbaker
From: Steve B. <sjb...@ai...> - 2000-07-05 03:42:45
|
I thought the various artists who were thinking of modelling for TuxKart would like to read this message which describes the current state of model loaders for the PLIB graphics library (which is what TuxKart uses to load and display 3D models). I've snipped it about a bit so it makes sense to those who havn't been following the thread over on the PLIB developers mailing list: Steve wrote: >> So far PLIB/SSG supports: >> >> ASE SSG 3ds DXF TRI AC3D OBJ VRML >> >> Of these, I know that AC3D and SSG work well, I'm not so sure >> about the others because I don't use them much. Dave McClurg replied: > The TRI loader was just a quicky I did because it was easy. It is > the same TRI format that AC3D uses. I think it comes from Wavefront. > > The 3ds loader was created by Per Liedman. It is a very important > *binary* format. AFAIK, it works correctly and supports textures. > > The DXF loader was adapted from John Burkardt's IVCON. With > Wolfram Kuss' help I've updated it to support quads, polylines, > and MxN polymeshes. It doesn't support textures, which are not > in the DXF specification, but it is a widely supported format > and a good way to import geometry into SSG. > > The ASE loader is the one I wrote and use. I have tested it and > feel confident that it works correctly. It has texture support. > I'm willing to help anyone use it or improve it. Any copy of MAX > has the source code for the ASE export plugin. I'm working on > adding animation support which will require new SSG entities. > > The OBJ loader was adapted from John Burkardt's IVCON. I added > texture support after looking at how Andreas Umbach handled it > in gltron. The Wavefront OBJ format is wonderfully simple and elegant. > > http://www.cica.indiana.edu/graphics/object_specs/OBJ.format.txt > > The "Nebula Device" project (http://www.radonlabs.de/) liked the > OBJ format so much they extended it and use the "n3d" extension. > But AFAICT, Wavefront OBJ lacks animation support. Otherwise, > I would dump ASE and switch over to it. > > I hope to cleanup and improve the OBJ loader soon so it can import > the object names and other things I missed the first time. Dave goes on to talk about 'exporters'. These allow PLIB programs to write models. Connecting a loader to an exporter with a 10 line C++ program allows you to convert one model format to another if you have the appropriate loader/exporter combinations. The PrettyPoly modeller - whilst not yet ready to use as a modeller, can none-the-less act as a fine 3D file format convertor because it has all the loaders and exporters - and a reasonable 3D viewer to let you see how the model would appear if loaded into TuxKart. So, back to Dave's wise words about exporters: Dave McClurg continues: > Also, the [...OBJ...] exporter currently lacks texture support. > > Many of these loaders have an exporter. The exporter feature was > mainly needed for PPE (pretty poly editor). If you want to *save* > a scene graph, you should use ssgSaveSSG() which supports all the > SSG entities. Otherwise, you'll lose information. > > Another *big* todo item is to add ssgIndexArray to the _ssgCreateFunc > so it can support Mark's ssgVertexArray.cxx module. That would > make large ASE models load and render faster since they are > naturally in indexed array form. > > If someone has a specific use for an improved OBJ or ASE loader, > please let me know. The added motivation always helps. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |