Some feedback, I ended up using suggestion no. 2. It seems to work pretty well, and considering the amount of geometry I have, the performance I think is pretty good, it takes about a couple seconds to render every time I change the geometry. Thanks again! Appreciate your help. Now I'm looking at ways to improve my memory consumption. Ibrahim
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ibrahim Z Mohammad Graduate Research Assistant Dept. of Civil and Environmental Engineering University of Illinois at Urbana-Champaign 205 N Mathews St. 3111 Newmark Lab Urbana, IL 61801 (217) 766-5516 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -----Original Message----- From: Discussion list for Java 3D API [mailto:[EMAIL PROTECTED] On Behalf Of Florin Herinean Sent: Friday, February 20, 2004 8:46 AM To: [EMAIL PROTECTED] Subject: Re: [JAVA3D] Shape3D problem That's tricky, so you need to use tricks ;) The problem is that the renderer runs in another thread that the one in which you're modifying the shape3d. 1. first option is to stop the renderer before you remove the geometries and start it again after you've finished adding. pros: very easy to implement. cons: if the addition is time consuming, you may have rendering artifacts on the screen - the renderer is stopped ! 2. have a special branch group for your shape 3d. Then when you want to modify it, you detach the branch from the scenegraph, do your changes and attach it again. cons: detaching / attaching may be time consuming. 3. use the flip technique: you have a switch with two components. At a given time, only one of them is displayed. You always modify the invisible one, then flip the switch. cons: a little more code to write, but that one gives the best visual experience. 4. use immediate mode. cons: for profis ;) Cheers, Florin -----Original Message----- From: Discussion list for Java 3D API [mailto:[EMAIL PROTECTED] Behalf Of Ibrahim Z Mohammad Sent: Freitag, 20. Februar 2004 15:24 To: [EMAIL PROTECTED] Subject: [JAVA3D] Shape3D problem Hi, I have a question about rendering of geometry in a Shape3D. In my program, I need at certain times to change the geometry component of my Shape3D to display certain different geometry. I do this by a call to myShape3D.removeAllGeometries() and then add all the geometries I need by a loop around myShape3D.addGeometry(someGeometry[i]) The problem is, since I have a very large number of geometries (around 30,000, I’m doing visualization for a granular soil particle simulation where each geometry is a soil particle), the geometries don’t appear at the same time, rather the renderer starts by rendering the geometries one by one, from the first added one to the last. I was wondering if there is a way by which I could make the shape3D not display the geometries until all of them have been added to it. When I first load the program, the geometries all appear at the same time even though I use the same procedure to add them, but the Shape3D hasn’t been added to the scenegraph at that time. But when I change the geometries after adding the Shape3D to the scenegraph, I see this problem. Any suggestions? Thanks! Ibrahim =========================================================================== 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". =========================================================================== 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".