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


Attachment: MorphCapture.java
Description: Binary data

Attachment: ColorPyramidDown.java
Description: Binary data

Attachment: ColorCube.java
Description: Binary data

Attachment: ColorPyramidUp.java
Description: Binary data

Reply via email to