You don't mention what resolution your image is.  Are you trying to
capture a 1024x768 image and compress it to JPEG in "real time" (not
likely to work on current hardware).  Perhaps writing to another
(non-compressed) format would be able to sustain a faster rate and/or
reduce the size of your image.  And of course run it on the fastest
system you can.  I'd be curious if anyone has tried this on a scene that
normally is capable of maintaining 50+ FPS to see if simple video
capture is actually feasible at all?

- John Wright
Starfire Research

Yu Wang wrote:

Hi All,


Currently I am working on video saving from Java 3D. My Solution is add
a behavior to the view transform group and schedule it to process every
50 ms, for example. Every time the behavior wakes up, it calls the
canvas' off-screen render method to render the current scene into a
image object. Once the save process ends, I use the sample program in
JMF to make all the Jpeg images into a movie clip.

But my question is that it can never gain the desired frame rates in the
movie. It usually takes more than 0.2sec to render a single frame
off-screen. If I add more canvas to the scene, the memory becomes a key
issue. What is worse, the Behavior class cannot be scheduled properly.
Another interesting thing is that if I turn off the on-screen renderer
while recording, it seems that the off-screen renderer get the same
images, which means the transforms could not be changed by the
interpolators anymore. So is there anybody who has the similar
experience? I will be really appreciated if you can give any comments.

Could I get the images directly from the on-screen Canvas3D or should I
use a Timer or Interpolator instead of Behavior?

Thanks again.

Paul

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