Title: GeometryUpdater
No, you don't have to detach/reattach if you are using by-copying geometry and just want to change the GeometryArray coordinates. You have to set the ALLOW_COORDINATE_WRITE capability and you can update the GeometryArray coordinates using the setCoordinates() methods.
 
Using by-copying geometry means that the GeometryArray maintains a copy of the coordinate information you pass it. So, the performance hit is from the GeometryArray making a copy of the coordinates on every update. Changing the scene graph structure (detaching/attaching branches) is not necessary in this cased, but incurs a large performance hit when used.
 
Sean
 
-----Original Message-----
From: Smith, David [mailto:[EMAIL PROTECTED]
Sent: Tuesday, February 25, 2003 7:42 AM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] GeometryUpdater

So by not using the GeometryUpdater and following the detach/reattach
approach, am I forced to recreate all GeometryArrays on a Shape node.
Or, if I have a reference to the Shape, can I just detach, modify the individual
geometry arrays that I care about( add/remove/modify )  and then reattach.
And this will all have to be done in a thread-safe manner by me.
 
Also, if I understand, this approach basically just means that I will take
a performance hit when I reattach because j3d will copy all data
again to the graphics device.  Is this correct? 
 
BTW, Thanks for all the replies.
-DaveS
 

Reply via email to