To All: Here is an alternative to the CapturingCanvas3D.
Background: I wanted to allow my user to capture a frame from a dynamic scene, in my case an aircraft model undergoing a structural vibration. I was using a Morph object and a MorphBehavior to animate the airplane geometry. Using CapturingCanvas3D, I would usually get a blank frame, although I would occasionally capture an image from my animated display. If I disabled the behavior, The CapturingCanvas3D would work fine. I tried several modifications to CapturingCanvas3D and to the way in which I used it, without much success at capturing while the MorphBehavior was enabled. I suspect that there is a way to make this work, I just didn't know enough about J3D rendering to know how to go about it. Different Approach: I decided to use two Canvas3Ds in my application, one in the GUI, and one for Off-Screen rendering, which is not added to any of the GUI containers. Both are attached to the same view in the scenegraph. I have attached a sample application built from a combination of one of the Morph demonstration codes and some of the CapturingCanvas3d samples. This seems to provide a good capture every time with the behavior enabled or disabled. The sample code could be cleaned up some and made more efficient, but here it is. Hope somebody finds this helpful. Matt Pierce
MorphCapture.java
Description: Binary data
ColorPyramidDown.java
Description: Binary data
ColorCube.java
Description: Binary data
ColorPyramidUp.java
Description: Binary data
