On Sat, Jun 02, 2007 at 11:41:52AM +0900, Miles Bader wrote:
> Well, everybody has their own needs.  Personally, I probably fall into
> the "testing" category more than anything else.  I write software, but
> I'm not very good or experienced at modelling, so it's really nice to
> be
> able to download a spaceship or three from the net, plonk them in a
> scene and render away.

Me neither, but I learned just enough of 3dsmax to be able to make test
scenes or whatever. Nowadays I'm trying to learn maya, so I won't have
to reboot to windows when I need a test scene :) Blender would be ideal,
but somehow I can't seem to manage to grasp its user interface.

> I find that the issues you mention are not really much of a problem,
> as
> it's easy enough to deal with them after loading.  E.g., I typically
> replace all the materials used (which is easy given that 3ds files
> used
> named materials), and normalize the mesh size before placing it
> myself.
> The main issue for me is that it's hard to make geometry, and that's
> what all those free .3ds files provide.

Indeed, although I tend to make my own formats and convert from 3ds or
whatever in such cases as needed. For instance I've written a converter
based on lib3ds for a raytracer I was working on, to an XML format which
contained all those details that .3ds wasn't ever meant to have like
refraction indices, shader programs, photon shooting parameters,
non-phong reflectance model parameters, etc.

In general I believe it's much preferable to keep the "loading" simple
and "native" to your program's capabilities and just make external tools
(converters/exporters).

> > I mean at the very least you would need to import them to 3dstudio,
> > fix them up and re-export them.
>
> If I had proprietary apps like 3dstudio, I probably wouldn't be using
> lib3ds... :-)

You could use blender :)

Believe me the SDK of 3dsmax is grotesque and the documentation sucks.
That's why I was using .3ds for some years, I didn't want to make the
effort to write an exporter. Fortunately, at work another guy did that
nasty job, and I didn't have to do it. But I can tell you it's so great
to be able to pull whatever information you need.

> Actually those .ply files illustrate another nice thing about 3ds
> files:
> they _do_ have more than just geometry, and that information is usable
> in practice (even if you replace the materials, as I usually do, just
> having the _references_ to them is extremely useful).

I know, my old engine used to get all sorts of weird things from 3ds
files (through lib3ds of course). I even had it make and use reflection
cubemaps wherever you had a "reflect/refract" material at 3dsmax. Worked
like a charm, you could even specify how often to update the cubemaps
(if ever), and their sizes.

> Another point for using lib3ds is simply that it is in fact, really
> easy
> to use:  it's a straight-forward and lightweight library, with few
> dependencies, which just does the loading and provides the info in a
> highly usable form -- and otherwise stays out of your way.  There are
> other free graphics systems which support this or that format, but in
> general they seem to be a _lot_ more heavyweight than lib3ds.

Indeed, I love the minimalistic design of lib3ds, that's why once I
found lib3ds, I threw away my own 3ds loading code. Plus mine used to
have more bugs, and less features than lib3ds :)
But it was fun writing it... hex editing 3ds files to fill in the gaps
in the ad-hoc docs I had collected back then from all over the internet
:)

-- 
John Tsiombikas (Nuclear / Mindlapse)
[EMAIL PROTECTED]
http://nuclear.demoscene.gr/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
lib3ds-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lib3ds-devel

Reply via email to