> Hi Florin, Thanx for your answer. Well, I didn't want to use two
> shape 3ds because I'm lazy :P I've already specified the
> coordinates and texturecoordinates for an entire room, and I'd
> like the outside walls to be different from the inside ones. But
> I guess it's easier to just copy and paste the code and make a
> different shape 3d like you said.

If you want to use the same Shape3D multiple times in your scene
you can, using SharedGroup and Link nodes.  But in my experience,
this is rarely what you want.  Even if you want the exact same
geometry and appearance, you usually want to be able to *pick*
each one separately.  Using SharedGroup and Link, each
occurrence of the Spape3D has the same UserData object, and
therefore the picking code can't tell them apart.

So I have always ended up making multiple Shape3Ds.  But what's
great about Java 3D is that these Shape3Ds can all point to the
same Geometry object and the same Appeanance object, so the
memory overhead of each is just the Shape3D object itself, plus
the UserData object.

In your case, you want the different occurrences to have
different textures.  So use the same Geometry object for all
of them and create a separate Appearance object for each.
Create separate texture objects for each, but if some of the
Appearance components are the same, you can share just that
component.  If they all have the same RenderingAttributes,
for example, use that RenderingAttributes object in all
of the Appearances, and you don't have to waste the memory
for a separate RenderingAttributes object in each Shape3D.

-Paul

===========================================================================
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