Jefferson Samuel wrote:

Hello All,

All the Shape3D's in my scene are created in GeometryArray By-Ref mode.

Note in Java3D API: Class Behavior
"Modifications to geometry by-reference or texture by-reference
are not guaranteed to show up in the same frame as other scene graph changes."

1. Are there any workaround for this problem
other than using GeometryArray.setCoordinates to update the vertex?


Current implementation in v1.3 and v1.3.1 beta1 has 1 frame delay for geometry attributes (vertex/normal etc..) update (both by-ref and non by-ref). However for Transform, Appearance attributes and others update, it has 2 frame delay.

If you would like to sync. geometry update with Transform3D/Appearance
attributes. A a way to workaround is adding a global wakeupOnBehaviorPost()
behavior (for all geometry in scene graph) to the scenegraph with higher
schedulingInterval priority then all others.

Whenever any geometry modification take place such as setCoordinates(),
setColor() etc. this action is encapsulated in a message and put in
a global MessageQueue, follow by postId() to wakeup the new behavior
in the next frame. In the next frame the new behavior process the message
queue and empty it. Other behaviors, which run after it will again put the
request in this MessageQueue. In this way the geometry modification will
appears to delay 2 frames which sync. correctly with transformation.


Most of the Java3D demo programs show how to have Behavior wakeup when specific AWT events like KeyEvent or MouseEvent occurs.

2. I wish to have a Behavior wakeup when a
JMenuItem is selected from the Menubar.Should I try capturing ItemEvent??
Please help me with a sample code if possible?


You can capture the ItemEvent and use behavior postId() to wakeup
another behavior in scenegraph.


3. When I used WakeupOnElapsedFrames(0) or WakeupOnElapsedTime(100) as a WakeupCriterion in my custom behavior I found a lot of drain in the animation speed on a passage of time. Please give ur insite on this.




There is lots of discussion about the accuracy of WakeupOnElaspedTime,
please
search the archive.

Thanks.

- Kelvin
---------------
Java 3D Team
Sun Microsystems Inc.

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