Hi again all,

I have a question about texture loading.  A little background:

At Dali, we are rendering dynamic, skinned articulated rigid
bodies in real time.  Such entities require many pieces of data to
describe.  We have written six loaders for this data: skeletons,
muscles, mesh, materials, weights, and textures.  We use Maya to
generate all of this data.  The interesting thing is, the texture
loader is actually one of the harder parts to get right!

For the first week or so we used the ObjLoader that is included
with Java3D to load our mesh, material, and texture information.
We had several difficulties with this package
(com.sun.j3d.loaders.objectfile) so we performed a code review and
found some of the most "interesting" Java code we've ever seen.
Who wrote this package, an intern?

We have since written our own OBJ loader, learning from the
mistakes in the Sun source, so to speak.  Actually, to be more
accurate, we have used JavaCC to write all of our loaders - no
crazy manual parsing here!

Now to the crux of this message.  I have seen probably a
half-dozen ways to load textures.  Examples come from: the Java3D
tutorial, the demo source code, the Sun provided source, other
misc Java3D examples online, etc.  It seems amazing to me that
nearly every example I come across uses a different mechanism to
load a texture.

What's more, nearly all of the techniques do not work on all
platforms!  To be precise, "all platforms" means Java3D on Linux
and Windows with both the OpenGL and DirectX back-ends.

Does anyone have any suggestions for the most straightforward and
"correct" way to load textures that works reliably on all
platforms?  Its obvious that there are a dozen ways to do it in
Java, but it seems that all ways are not created equal.

If only we'd learned from X11(*),

Joe Kiniry
--
Joseph R. Kiniry
DALi, Inc.
California Institute of Technology

(*) There should be (nearly) only one way of doing any "thing".
X11 is an infamous example of where you can do any "thing" over a
dozen different ways.  Imagine having five accelerators, three
brakes, and two and half steering wheels in your car - you get the
idea.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to